Есть ли способ сократить Excel ИЛИ функцию? - PullRequest
0 голосов
/ 24 апреля 2020

Я использую вложенную функцию ИЛИ для поиска 6 возможных заголовков в 4 столбцах, и я пытаюсь выяснить, есть ли способ сократить формулу.


=IF(OR($G2="ABC",$G2="DEF",$G2="GHI",$G2="JKL",$G2="MNO",$G2="PQRS",$L2="ABC",$L2="DEF",$L2="GHI",$L2="JKL",$L2="MNO",$L2="PQRS",$P2="ABC",$P2="DEF",$P2="GHI",$P2="JKL",$P2="MNO",$P2="PQRS",$T2="ABC",$T2="DEF",$T2="GHI",$T2="JKL",$T2="MNO",$T2="PQRS"),"Group 1","Group 2")

Ответы [ 4 ]

2 голосов
/ 24 апреля 2020

Попробуйте:

=IF(OR(INDEX(2:2,N(IF(1,{7,12,16,20})))={"ABC";"DEF";"GHI";"JKL";"MNO";"PQRS"}),"Group 1", "Group 2")

В некоторых более ранних версиях Excel может потребоваться «подтвердить» эту формулу массива , удерживая нажатой ctrl + смещение при нажатии введите . Если вы сделаете это правильно, Excel поместит фигурные скобки {...} вокруг формулы, как показано в строке формул

2 голосов
/ 24 апреля 2020

Использование:

=IF(SUMPRODUCT(--ISNUMBER(MATCH(CHOOSE({1,2,3,4},$G2,$L2,$P2,$T2),{"ABC","DEF","GHI","JKL","MNO","PQRS"},0)))>0,"Group 1","Group 2")

ИЛИ

=IF(OR($G2={"ABC","DEF","GHI","JKL","MNO","PQRS"},$L2={"ABC","DEF","GHI","JKL","MNO","PQRS"},$P2={"ABC","DEF","GHI","JKL","MNO","PQRS"},$T2={"ABC","DEF","GHI","JKL","MNO","PQRS"}),"Group 1","Group 2")

Для перехода в секунду в зависимости от версии может потребоваться использование Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

0 голосов
/ 25 апреля 2020

Еще один с формулой массива:

=IF(MAX(IFERROR(SEARCH({"ABC","DEF","JKL","GHI","MNO","PQRS"},TEXTJOIN(";",TRUE,G2,L2,P2,T2)),0))>0,"Group1","Group2")
0 голосов
/ 25 апреля 2020

Другой вариант:

= "Group "&2-OR(T(OFFSET(G2,,{0,5,9,13}))={"ABC";"DEF";"GHI";"JKL";"MNO";"PQRS"})

и тот же совет для подтверждения, нажав Ctrl + Shift + Enter для некоторых версий Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...