Лучший способ условно объединить несколько ячеек - PullRequest
0 голосов
/ 14 марта 2019

У меня есть таблица Excel со следующими заголовками

Name      Occupation     Income     Martial Status   Spouse Income 
Amy       Astronaut      H          M                     NA
Ben       Baker          M          S                     NA
Carl      NA             NA         M                     H
Dan       NA             NA         S                     NA
Eric      NA             NA         NA                    NA

Я хочу объединить их в одну ячейку, только если ячейка не является «NA», т.е. я хочу создать столбец, который говоритследующее:

Amy_Astronaut_H_M
Ben_Baker_M_S
Carl_M_H
Dan_S
Eric

В настоящее время я имею в виду серию ifs, например:

=Name&"_"&if(istext(search("NA',Occupation,"")),"",Occupation&"_")
         &if(istext(search("NA',Income,"")),"",Income&"_")
         &if(istext(search("NA',Marital Status,"")),"",Marital Status&"_")
         &if(istext(search("NA',Spouse Income,"")),"",Spouse Income&"_")

Без изменения содержимого существующей таблицы, мне интересно, есть линемного более эффективный способ сделать это?

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Это работает для вашего примера. Если у вас есть более поздние версии Excel, вы можете использовать TEXTJOIN вместо CONCATENATE.

=SUBSTITUTE(A1&"_"&B1&"_"&C1&"_"&D1&"_"&E1,"_NA","")

enter image description here

0 голосов
/ 14 марта 2019

Я использовал следующую информацию:

   A    B    C   D
1  
2       A   NA   B

В ячейках от B3 до D3 я поместил следующую формулу:

=IF(B2="NA";"";B2) // Change to C and D accordingly

В ячейку B4 я поместил следующую формулу:

=TEXTJOIN("_";TRUE;B3:D3)

Значение A_B.

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