У меня есть некоторые конкретные данные в sheet1 и некоторые другие данные в sheet2.

Мне нужно сравнить конкретное значение (Var1) с sheet1 и вернуть конкретное значение с sheet2, и вернуть вывод для того же. Я успешно сделал это с этой формулой

=IF(COUNTIF(Sheet2!A:A, A2), "Yes", "No")

Лист1

+------+------+---------+---------+
| var1 | var2 | result1 | result2 |
+------+------+---------+---------+
|      |      |         |         |
| abc  |  123 | yes     | yes     |
|      |      |         |         |
| bcd  |  234 | yes     | no      |
|      |      |         |         |
| cde  |  456 | no      | blank   |
+------+------+---------+---------+

Sheet2

+-------+-------+-------+
| List1 | List2 | List3 |
+-------+-------+-------+
| abc   |   123 |       |
| bcd   |       | 123   |
| def   |       |       |
+-------+-------+-------+

Мне нужно искать var1 в list1 и var2 в list2 и list3

Я хочу сравнить другое значение (Var2) в Sheet2, только если предыдущий результат - "Да", что может быть легко достигнуто с помощью функции IF; но суть в том, что он должен сравнивать значения только из определенных строк Sheet2, которые должны быть плюс (+) и минус (-) 2 строки, где Var1 был найден в Sheet2.

Я не владею VBA, но я пробовал свои силы в формулах Excel.

3 ответа3

0

Это было весело ломать голову :)

Используя ваш пример, я поместил эту функцию в C2 (под 'result1') и заполнил ее массивом:

=IF(COUNTIF(Sheet2!A:A,A2),"Yes","No")

А для D2 под 'result2':

=IF(C2="No","No",IF(COUNTIF(INDIRECT("Sheet2!C"&MAX((MATCH(A2,Sheet2!A:A)-2),1)&":C"&(MATCH(A2,Sheet2!A:A)+2)),B2),"Yes","No"))

Опять же, массив заполнить его, и он должен работать :)

0

Вы можете использовать OR() и сравнить, если у вас есть плюс и минус. Что-то вроде этого:

=IF(OR(A1="+";A1="-");"Ok";"")

Тогда вы можете изменить "Ok" для вас формулу.

=IF(OR(A1="+";A1="-");=IF(COUNTIF(Sheet1!C:C, A2), "Yes", "No");"")

Это то, что тебе надо?

0

Попробуйте:=IF(C2<>"Yes","",IF(COUNTIF(OFFSET(Sheet2!$B$1:$C$5,MAX(0,MATCH(A2,Sheet2!A:A,0)-3),0),B2)>0,"Yes","No"))

Я предполагаю, что:

  • Как вы сказали, var1 - это уникальный ключ. В противном случае это будет соответствовать только первому вхождению.
  • Вы хотите , чтобы соответствовать var2 как в list1 и list2 В противном случае вы должны сузить окно поиска до $B$1:$B$5 . Если справа есть еще списки, просто добавьте столбцы в окно поиска.

Дайте мне знать, если у вас есть какие-либо вопросы о том, как это работает.

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