1

Мне нужно сослаться на 3 листа: "Отгрузка", "Оборудование" и "Инвентаризация", где столбец A в отгрузке и столбец A в оборудовании относятся к номеру местоположения, а тип оборудования обозначается текстом и учитывается в сводной таблице. в "Инвентаризации". Существует несколько типов оборудования, связанных с каждым номером местоположения, и некоторые номера местоположения еще не были связаны.

Простым английским языком я пытаюсь сказать «ЕСЛИ номер места в отправке соответствует номеру места в оборудовании И тип оборудования соответствует инвентарному описанию A9 или типу оборудования соответствует инвентарному описанию A8, вернуть номер отслеживания в столбце K, в противном случае вернуть пустое значение».

Моя формула

=IF(AND(Equipment!A:A=Shipping!A2,OR(Equipment!C:C=Inentory!A8,Equipment!C:C=Inentory!A9)),Equipment!K:K,""). 

Хотя я знаю, что есть правильное значение для возврата, и логически это должно сработать, но я все равно получаю ложное возвращаемое значение, поэтому я знаю, что есть какая-то сложность, которую мне не хватает. Любая помощь?

1 ответ1

1

У вас есть пара вопросов здесь.

Как правило, формулы Excel не обрабатывают массивы в качестве входных данных (если вы просто нажмете Enter), поэтому ваша формула сравнивает только первую ячейку ваших диапазонов.

Если вы введете формулу массива с помощью ctrl+shift+enter, она будет сравниваться со всем диапазоном, но ваши функции или и и упростят это до единого значения true/false для всего диапазона (не для каждой строки отдельно).

Таким образом, используя формулу массива, вы можете использовать что-то вроде этого: но обратите внимание, что формулы массива могут работать очень медленно, если вы используете целые массивы столбцов (так как каждая из них содержит ~ 1M ячеек, так что вы гораздо лучше определите диапазон.

=index(Equipment!K:K,
    match(Shipping!A2,
        if(((Equipment!C:C=Inentory!A8)+(Equipment!C:C=Inentory!A9))>0,Equipment!A:A,0)
    ,0)
)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .