我有一个值列表id, name, category, description
和可变数量的keyword
值;每行0到18之间。我想以下列形式创建这些值的列表:
(id, 'keyword')
, (id, 'keyword')
如果有关键字与标识符一起使用,则列表仅增加。这是一个简单的SQL INSERT
语句的手动列表。
我意识到我可以使用&CHAR(9)
插入标签,&CHAR(10)
插入新行,因此每个新条目的正确制表顺序为&CHAR(10)&CHAR(9)&CHAR(9)
。
=IF(G2<>"",CONCATENATE("(",A2,", '",UPPER(G2),"')"),"")
&CHAR(10)&CHAR(9)&CHAR(9)&
IF(H2<>"",CONCATENATE("(",A2,", '",UPPER(H2),"')"),"")
我尝试了几种不同的组合,例如:
=IF(G2<>"",CONCATENATE("(",A2,", '",UPPER(G2),"')"),"")+
IF(H2<>"",CHAR(10)&CHAR(9)&CHAR(9)&CONCATENATE("(",A2,", '",UPPER(H2),"')"),"")
和
=IF(G2<>"",CONCATENATE("(",A2,", '",UPPER(G2),"')",CHAR(10),CHAR(9),CHAR(9)),"")+
IF(H2<>"",CONCATENATE("(",A2,", '",UPPER(H2),"')"),"")
和
=IF(G2<>"",CONCATENATE("(",A2,", '",UPPER(G2),"')"),"")+
IF(H2<>"",CONCATENATE(CHAR(10),CHAR(9),CHAR(9),"(",A2,", '",UPPER(H2),"')"),"")
这些都给出了计算错误。有没有其他人一直渴望知道如何做到这一点,并有这种挫折感?有人有解决方案吗?
答案 0 :(得分:0)
我实际上是在发布后的一个小时内发现了这一点,但忽略了在这里发布解决方案以防其他人想知道。
您必须CONCATENATE
整个IF
块系列,并将CHAR(10)
和CHAR(9)
添加到内部CONCATENATE
块中,如下所示:< / p>
=CONCATENATE(IF(G2<>"",CONCATENATE("(",A2,", '",UPPER(G2),"')"),""),
IF(H2<>"",CONCATENATE(CHAR(10),CHAR(9),CHAR(9),"(",A2,", '",UPPER(H2),"')"),""))
谢谢,
-C§