这可以通过在远处添加一个额外的列来实现,它可以被隐藏,然后通过使用唯一分隔符连接所需的单元格集来填充该列,直到在第二个电子表格上发生拆分。注意:
- 添加或删除行不会影响
IMPORTRANGE
- 添加删除列将破坏所有导入的数据
- 如果每个
IMPORTRANGE
数据都有一个唯一的分隔符,并且搜索始终应用于这种唯一的分隔符,则不需要额外的列
在这种特殊情况下,使用了进料的AGIMPORTRANGE
柱。
在Sheet1!AG的Spreadsheet1中(无论行号如何),都有公式,其中L50和M50的内容以及L51和M51的内容等等......(无论是直接还是间接地完成输出是):JOIN
TEXT
=JOIN("¤"; L50; MIN(FILTER(L:L; ISNUMBER(SEARCH("*banana*"; P:P))
+ISNUMBER(SEARCH("*banana*"; Q:Q))
+ISNUMBER(SEARCH("*banana*"; R:R)))))
输出: next banana¤30-Aug-2004
=JOIN("¤"; L51; MIN(FILTER(L:L; ISNUMBER(SEARCH("*orange*"; P:P))
+ISNUMBER(SEARCH("*orange*"; Q:Q))
+ISNUMBER(SEARCH("*orange*"; R:R)))))
输出: next orange¤2-Oct-2003
=JOIN("♥"; L52; AVERAGE(FILTER(L:L; ISNUMBER(SEARCH("orange"; P:P))
+ISNUMBER(SEARCH("orange"; Q:Q))
+ISNUMBER(SEARCH("orange"; R:R)))))
输出: X♥25-Sep-2013
=JOIN("♀"; L53; MIN(FILTER(L5:L48; ISNUMBER(SEARCH("*banana*"; Q5:Q48))
*ISNUMBER(SEARCH("open"; R5:R48)))))
输出: next banana♀20-Aug-2000
=JOIN("♂"; L54; AVERAGEIFS(M5:M48; R5:R48; "open",
Q5:Q48; "*banana*"))
输出: avg days open (banana)♂74.41
=JOIN("♪"; L55; Q50/Q51)
输出: util♪0.370544987
=JOIN("♫"; L56; MINIFS(M5:M48; R5:R48; "open",
Q5:Q48; "*banana*"))
输出: newest (mo)♫3.48
=JOIN("¤"; L57; M56*30.5)
输出: newest(days)¤106.2580645
=JOIN("♤"; L58; M58)
输出: avg LMT♤25051.35484
此时,连接单元格的格式是否输出其他方式无关紧要(例如,输出的第二部分应格式化为$
, %
, mm/dd/yyyy
),因为在Spreadsheet2中拆分后您可以根据需要将其格式化
在电子表格2 中,您可以在任何列和任何行自由粘贴以下公式,并且您可以自由:
- 在Spreadsheet1中添加或删除任何行
- 并在Spreadsheet2中添加或删除任何行或列
=SPLIT(
ARRAY_CONSTRAIN(
QUERY(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
"select Col1 where Col1 ='"&
FILTER(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
ISNUMBER(
SEARCH("banana";
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000"))
))
&"'");
1; 1);
"¤"; 1; 0)
这基本上是针对 Sheet1 下的 Spreadsheet1 中SEARCH
的文本值"banana"
从范围 AG1:AG1000 并将其馈送到FILTER
哪个馈送标准,该馈送标准QUERY
是ARRAY_CONSTRAIN
ed 返回一个条目,并且该条目SPLIT
在唯一分隔符"¤"
(前面使用过JOIN
)之后进入同一行的两列. 就是这样。
如果单元格L50的内容是静态的banana
,并且每列也是唯一的,则您可以使用SEARCH
,"banana"
否则您需要为每列使用唯一的分隔符,并且SEARCH
对于此类分隔符,而不是"banana"
要成功连接,您需要确保分隔符 inSPLIT
匹配JOIN
( "¤"
) 中的分隔符。您可以使用任何您希望的符号作为分隔符(http://www.i2symbol.com/symbols)
例如:对于公式=JOIN("♤"; L58; M58)
,您可以使用:
=SPLIT(
ARRAY_CONSTRAIN(
QUERY(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
"select Col1 where Col1 ='"&
FILTER(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
ISNUMBER(
SEARCH("lmt";
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000"))
))
&"'");
1; 1);
"♤"; 1; 0)
或者
=SPLIT(
ARRAY_CONSTRAIN(
QUERY(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
"select Col1 where Col1 ='"&
FILTER(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
ISNUMBER(
SEARCH("♤";
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000"))
))
&"'");
1; 1);
"♤"; 1; 0)
或者
=SPLIT(
ARRAY_CONSTRAIN(
QUERY(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
"select Col1 where Col1 ='"&
FILTER(
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000");
ISNUMBER(
SEARCH("avg LMT";
IMPORTRANGE("13evadbMLzvQVSGbYssn_0deFdcmb5l3sqpeFgcNTjOY"; "'Sheet1'!AG1:AG1000"))
))
&"'");
1; 1);
"♤"; 1; 0)