Я пытаюсь автоматизировать некоторые проверки в файле .csv с несколькими листами. Мне нужна формула, которая будет искать конкретный лист (лист лекарства) для двух заголовков столбцов (AgeAtStart
и AgeAtStop
). Найдя его, он выполнит оператор IF (=IF(E2<=F2,"Ok","Not Ok")
) для значений этих двух столбцов, убедившись, что AgeAtStart
меньше или равен AgeAtStop
.
Лист лекарств
AgeAtStart Other Column Other Column Other Column AgeAtStop
61.85 x x x 61.98
61.98 x x x 72.22
72.62 x x x 73.74
72.27 x x x 72.57
73.82 x x x 73.85
61.85 x x x 61.98
Я гибко отношусь к тому, как на листе "Сводка" будет сообщаться об этом, но я сначала сообщаю о количестве AgeAtStart
которое больше, чем AgeAtStop
или возвращает положение ячеек с неправильным возрастом. Я не хочу возвращать результаты для каждого оператора IF, а скорее возвращаю счетчик тех проверок IF, которые вернули "Ok" или "Not Ok".
Я пытался сделать это, используя комбинацию VLOOKUP и INDEX/MATCH, но пока не могу разобраться в логике. Может быть, VBA будет лучшим решением?
РЕДАКТИРОВАТЬ: Использование реализации cybernetic.nomad прекрасно работает.
=IF(INDEX('Sheet2'!2:2,,MATCH("AgeAtStart",'Sheet2'!$1:$1,0))<INDEX('Sheet2'!2:2,,MATCH("AgeAtStop",'Sheet2'!$1:$1,0)),"OK","Not OK")
В качестве продолжения я помещаю эту формулу в лист "Сводка" и ссылаюсь на лист "данные". Есть ли способ применить эту формулу автоматически "x" количество раз на листе "Сводка", где "x" представляет количество строк на листе "данные"? Таким образом, если в моей таблице данных есть 100 строк, в таблице "Сводка" формула автоматически заполняется 100 раз, ссылаясь на каждые 100 строк.