2015-09-26 3 views
0

У меня есть таблица в Excel 2013, в которой есть тысячи записей о продуктах питания (говяжий, говяжий, говяжий, грудинка, говядина, филе курицы , целая курица, рыжая, целая рыба, йогурт, салат-импорт, салат-мороженое, томатно-свежий, томат, вода, молоко и т. д.), хранящиеся в колонке А. Обратите внимание, что значение может содержать другое содержимое чем название пищевой продукции.Проверьте наличие одного из нескольких значений в столбце

Я создал столбец B рядом с колонкой A. Я хочу, чтобы столбец B удерживал категорию пищевого товара в колонке A. Например, если у A1 есть «Говядина» или «Цыпленок» или «Рыба», тогда B1 должен равняться «Мясо». Если у А1 есть «Томатный» или «Салат» или «Лук», тогда B1 должен равняться «Овощи».

Каков наилучший способ его достижения?

+0

Вы может создать массив, который содержит значения, такие как Beef, Chicken или Fish, а затем сравнить каждую ячейку с помощью функции InStr (посмотреть вверх по документу ntation) во время цикла через массив. Затем введите оператор if, который помещает мясо или овощ в соответствующую ячейку. –

+0

@ExcelHero набрал перед мыслью. удалит –

ответ

1

Если у вас есть заголовки столбцов, введите эту формулу в ячейке B2:

=REPT("Meat",MAX(IFERROR(MATCH({"*beef*","*chicken*","*fish*"},A2,),))) & REPT("Vegetable",MAX(IFERROR(MATCH({"*tomato*","*lettuce*","*onion*"},A2,),))) 

Это формула массива и должна быть подтверждена с Ctrl + Сдвиг + Введите.

Теперь скопируйте B2 и выберите B3 вниз, насколько вам нужно, и вставьте.

Примечание: внимательно посмотрите на большой промежуток в середине формулы. Вы увидите, что это действительно две отдельные формулы, объединенные вместе с амперсандом. Вы можете легко распространить эту формулу таким же образом, добавив еще одну фразу, аналогичную первой, для новой категории. Фактически, вы могли бы добавить еще много категорий таким образом.

+0

Довольно умный Даниэль! Я бы никогда не думал использовать функцию REPT таким образом. – rwilson

+0

Спасибо человек. Это было очень полезно и легко использовать. Для Excel нужна Нобелевская премия! – surfrider

0

Настройте таблицу из двух столбцов. Назовите его, например FoodTable. Имейте первый столбец Named Word (для ключевого слова) и второй столбец Type, для типа продукта. Что-то вроде этого:

enter image description here

Затем с данными в столбце A, введите следующую формулу в B1 и заполнить вниз:

=LOOKUP(2,1/ISNUMBER(FIND(FoodTable[Word],A1)),FoodTable[Type]) 

Результаты:

enter image description here

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