Если заявление по листам MS Excel - PullRequest
0 голосов
/ 19 сентября 2019

ОБЩАЯ ИНФОРМАЦИЯ (упрощенная версия): я сортирую таблицы данных различных предметов для нашей лаборатории.У меня есть один лист с номером кода элемента (столбец A) с фактическим названием элемента (столбец B), например

code | item

001 | Banana

002 | Cabbage

003 | Carrot

004 | Peach

, и другой лист (с маркировкой акции * 1005)*), в котором указан только кодовый номер (столбец A) и количество запаса, имеющегося у нас для этого элемента (столбец B), например

code | stock

001 | 5

002 | 6

003 | 2

004 | 7

ПРОБЛЕМА: Теперь эти элементы можно отсортировать по 2 категориям, "фрукты и овощи".Я легко могу отсортировать элементы в листе элементов вручную, потому что вижу фактическое название элемента, но для листового запаса указан только кодовый номер, что означает, что мне придется постоянно смотреть на другой лист, чтобы увидеть, какой элемент связанс определенным кодом.

У меня уже есть отдельные листы для фруктов и овощей, поэтому у меня всего три листа: фрукты , овощи и акции .

Я думал о том, чтобы в лист запасов было помещено заявление IF, которое бы указывало, является ли товар фруктом или овощем.Примерно так: если код в A1 листа «акции» присутствует в column A листа «фрукты», то выведите слово «фрукты» в C1 листа «акции».Если нет, напечатайте слово «овощ» в C1.

Моя конечная цель (то, что ищет лаборатория) состоит в том, чтобы у меня были отдельные листы для фруктов и овощей (уже сделано), а также отдельныескладские листы для фруктов и овощей (будет сделано).

Буду признателен за любую помощь.Большое спасибо

Ответы [ 2 ]

0 голосов
/ 19 сентября 2019

Если в столбце А листа «Фрукты» присутствует код в A1 на листе «акции», напечатайте слово «фрукты» в С1 на листе «акции».Если нет, напечатайте слово «овощ» в C1.

Это простой тест на листе.Эта формула выполняет поиск в диапазоне A: A на листе «Фрукты», и, если есть совпадение (возвращается как число), она выдает первое значение «Фрукты», в противном случае возвращается «Овощной».

=IF(ISNUMBER(MATCH(A1,Fruit!A:A,0)),"Fruit","Vegetable")

Однако будьте осторожны с этим, потому что если код неправильный или не найден, он вернет «овощ» по умолчанию.Чтобы обойти это, используйте вложенный оператор IF, который проверяет оба листа примерно так и возвращает «Не найдено», если код неправильный.

=IF(ISNUMBER(MATCH(A1,Fruit!A:A,0)),"Fruit",IF(ISNUMBER(MATCH(A1,Vegetable!A:A,0)),"Vegetable","Not found"))

РЕДАКТИРОВАТЬ: Я поменял SEARCH на более мощный MATCH, так как это сведет на нет параметры отображения и все равно найдет правильный лист.

0 голосов
/ 19 сентября 2019

VLOOKUP хорошо работает для этого.

Создайте третий столбец в листе со следующей формулой в ячейке C2 и скопируйте его в ячейки ниже:

=VLOOKUP(A2,Fruits!$A$2:$B$200,2,FALSE)

Он принимает значение в ячейке A2, находит тот же идентификатор в таблице на листе 1 и возвращает значение, указанное во 2-м столбце таблицы фруктов.

Если вам нужны таблицы фруктов и овощейотдельный.Вы можете использовать IFNA, чтобы найти идентификатор во втором листе следующим образом:

=IFNA(VLOOKUP(A2,Fruits!$A$2:$B$200,2,FALSE),VLOOKUP(A2,Vegetables!$A$2:$B$200,2,FALSE))
...