我有一个像这样组织的Google电子表格:
A B C
|---------+---------+---------|
1 | Column1 | Column2 | Column3 |
|---------+---------+---------|
2 | value1 | value2 | value3 |
|---------+---------+---------|
我想在单元格上生成以下SQL查询:
update TableX set Column1 = value1, Column2 = value2, Column3 = value3
我知道可以这样做:
=CONCATENATE("update TableX set ",A1," = ",A2,", ",B1," = ",B2,", ",C1," = ",C2)
但有没有更好的方法来做到这一点,一个可以轻松添加或删除新行的方法?我正在寻找一些内容(例如下面的函数):
=CONCATENATE("update TableX set ",JOINTWOROWS(" = ", ", ",A1:C1,A2:C2))
其中参数1和2是列内分隔符和列之间的分隔符。
我还希望能够添加新行,这会自动获得新的更新查询,例如:
A B C D
|---------+---------+---------+---------|
1 | Column1 | Column2 | Column3 | Column4 |
|---------+---------+---------+---------|
2 | value1 | value2 | value3 | update1 |
|---------+---------+---------+---------|
3 | value1a | value2a | value3a | update2 |
|---------+---------+---------+---------|
4 | value1b | value2b | value3b | update3 |
|---------+---------+---------+---------|
5 | value1c | value2c | value3c | update4 |
|---------+---------+---------+---------|
答案 0 :(得分:1)
未经测试的想法:使用公式
添加新行(第3行)= CONCATENATE(“,”; A1;“='”; A2;“')
只要您愿意,将此行拖到右侧。
在更新单元格公式中,使用:
= CONCATENATE(“更新TableX set”; A3:XYZ3)
答案 1 :(得分:1)
如果我理解正确,在你的例子的D1中填充额外的行:
=ArrayFormula(IF(ROW(A:A)=1;"Column4";IF(LEN(A:A)*LEN(B:B)*LEN(C:C);"update TableX set "&A1&" = "&A:A&", "&B1&" = "&B:B&", "&C1&" = "&C:C;IFERROR(1/0))))