Альтернативы множественным функциям ПЧ
Использовали такую формулу:
=IF(L63=$AA$3;2;IF(L63=$AA$4;3;IF(L63=$AA$5;4;IF(L63=$AA$6;5;IF(L63=$AA$7;6;IF(L63=$AA$8;7;IF(L63=$AA$9;8;IF(L63=$AA$10;9;0))))))))
Но теперь нужно проверить больше, если еще так вышеприведенная формула не может работать (слишком много if
с).
Попробовал такую формулу:
=IF(L25=$AA$3;2;"")&IF(L25=$AA$4;3;"")&IF(L25=$AA$5;4;"")&IF(L25=$AA$6;5;"")&IF(L25=$AA$7;6;"")&IF(L25=$AA$8;7;"")&IF(L25=$AA$9;8;"")&IF(L25=$AA$10;9;"")&IF(L25=$AA$11;10;"")&IF(L25=$AA$12;11;"")&IF(L25=$AA$13;12;"")&IF(L25=$AA$14;13;"")&IF(L25=$AA$15;14;"")&IF(L25=$AA$16;15;"")&IF(L25=$AA$17;16;"")&IF(L25=$AA$18;17;"")&IF(L25=$AA$19;18;"")&IF(L25=$AA$20;19;"")
Но есть проблема. Например L25=$AA$3
(правда) и в ячейке (например, ячейка M1
содержит приведенную выше формулу) отображает число 2
, Все в порядке. Но если, например, в клетке M2
написать формулу =IF(M1=2;2;0)
, показывает номер 0
вместо 2
,
Где проблема?
Как получить номер 2
в клетке M2
?
Может быть, есть альтернативное решение?
2 ответа
С именованным диапазоном (скажем, arrLook
содержащий столбец ячеек A>H и сразу направо 2>10, это должно работать для любого из A>H в L63:
= ВПР (L63,arrLook,2,FALSE)
в M2, когда L63 содержит A (первый элемент в arrLook
).
Изменить, чтобы уточнить
Если вы хотите больше "условий", просто расширьте массив.
PS Пожалуйста, используйте точки с запятой вместо запятых (в соответствии с вашими настройками).
Переводя вашу конкретную проблему (поиск значения и возвращая возрастающее число), вы можете использовать формулу MATCH:
=IF(COUNTIF($AA$3:$AA$20,L25)=0,"",MATCH(L25,$AA$3:$AA$20,0)+1)
Вообще говоря, вы можете создать таблицу поиска и затем использовать функцию VLOOKUP. Это полезно, потому что может возвращать результаты, которые не являются инкрементными числами:
__AA__ _AB_
1
2
3 Value1 2
4 Value2 3
5 Value2 4
6 Value2 5
7 Value2 6
8 Value2 7
9 Value2 8
10 Value2 9
11 Value2 10
12 Value2 11
13 Value2 12
14 Value2 13
15 Value2 14
16 Value2 15
17 Value2 16
18 Value2 17
19 Value2 18
20 Value2 19
Формула:
=IF(COUNTIF($AA$3:$AA$20,L25)=0,"",VLOOKUP(L25,$AA$3:$AB$20,2,FALSE))
ПРИМЕЧАНИЕ. Возможно, вам придется заменить запятые на точки с запятой; чтобы формула работала над вашей версией Excel.