我有一个带有以下标题的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&"_")
在不更改现有表内容的情况下,我想知道是否存在一种更有效的方法?
答案 0 :(得分:1)
这适用于您的示例。如果您有更高版本的Excel,则可以使用TEXTJOIN而不是CONCATENATE。
create temporary table test_db.public.test_table (col1 number);
insert into test_db.public.test_table values (-99999999999999999999999999999999999999); -- This works fine
insert into test_db.public.test_table values (-999999999999999999999999999999999999999); -- this errors
答案 1 :(得分:0)
我使用了以下信息:
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
。