2015-08-12 3 views
0

Я хочу знать, что это лучший подход/функция/вложенную функция, чтобы сделать следующее:Как выполнить функцию Match-Replace-Match Next-Replace в Excel?

У меня есть 1 Список с фиксированными данными:

Списка пункты:

1001 
1002 
1003 
1004 

У меня есть таблица с содержанием:

Column A  
Column B  


Column A Title: Item Code  
Column B Title: Description 

Колонка A содержание:

Row 1: 1001  
Row 2: sc  
Row 3: nc  
Row 4: sc  
Row 5: 1002  
Row 6: nc  
Row 7: vc  
Row 8: fc  
Row 9: 1003 

Колонка B Содержание:

Travel to Miami   
Food for Miami   
Tickets to Miami Concert  
Gas for Atlanta   
Atlanta sight seeing  
Atlanta EMT     
Telephone bills    
Telephone cell 

Что я хочу сделать:

Я хочу формулу, которая говорит, что «взять первый элемент кода, который отображается в столбце А, соответствует его со списком; если он находится в списке, заполните его в каждой ячейке, пока вы не НАЙДИТЕ РАЗЛИЧНЫЙ КОД КОДА, который соответствует коду товара в списке, а затем повторите его, пока не найдете другой, который соответствует любому из кодов в списке. '

Таким образом, конечный результат будет:

  • В колонке А, «SC» и «пс» после того, как 1001 будет заменен на «1001»;
  • Затем excel обнаружил бы «1002» и заменил «nc» и «bc» следующим образом «1003», пока не найдет «1003»;
  • Тогда excel обнаружит «1004» и заменит не включенный в список контент «1004», пока не найдет следующий элемент, который находится в списке.

До сих пор использование формулы IFERROR помогало удалять только один контент, но не обнаруживает второго номера и автоматически заменяет второй набор контента соответствующим номером.

Возможно ли это?

ответ

0

Если они не обязательно в порядке, попробуйте это начиная с С2: -

=IF(ISERROR(MATCH(A2,E$2:E$5,0)),C1,A2) 

предполагая коды пункт запуска в строке 2 столбца А и список в E2: E5

enter image description here

+0

Эта формула работала. Спасибо, Том! Единственное, что я должен добавить новый столбец для запуска функции.Есть ли способ запустить функцию в том же столбце - скажем, в столбце «Начальная строка 2»? Я подозреваю, что это закончится ошибкой цикла. ... Но спасибо за помощь! –

+0

Это хорошо! Не жалко, я думаю, вам понадобится VBA для замены значений в столбце A. –

+0

Еще один шаг: теперь я пишу макрос, чтобы автоматизировать все это. Моя проблема заключается в том, когда макрос записывает, я пытаюсь исправить ошибку текста/нумерации, которая поступает с оригинального листа (колонка A выше); Я выбираю ячейку A2 и нажимаю Shift + Column A; это выбирает весь столбец A; затем я нажимаю раскрывающееся меню, чтобы исправить ошибку и выбрать «конвертировать в нумерацию»; результат достаточно хорош, чтобы позволить колонке C выполнять свои операции. Затем я прекращаю запись макроса. Когда я запускаю его, он не исправляет ошибку, которую я исправил, когда я записал ее. Любая мысль о решении? –

0

Похоже, что данные находятся в порядке возрастания (числа). В этом случае я думаю, что лучшим решением было бы ввести в другой колонке («C» может быть):

=MAX(A$1:A1)

И вот и все что вам нужно. Дайте мне знать, если это полезно.

+1

Привет, Сантьяго, моя проблема заключалась в том, что у реального документа не было данных в порядке возрастания, и я не хотел рисковать увеличением поля ошибки, добавляя еще одну задачу (чтобы подниматься и выравнивать данные во всех столбцах для синхронизации); Подход Тома разрешил проблему с минимальными действиями. –

Смежные вопросы