使用ImportRange函数消除表格A与表格B间的空白间隔
解决ImportRange合并表格时的空白行问题
针对你用IMPORTRANGE合并表格出现大量空白行,且用Where Col1 is not null会丢失部分信息的问题,提供以下几种精准过滤方案:
方案1:VSTACK + BYROW + FILTER(新版Google Sheets推荐)
利用BYROW逐行判断是否存在非空单元格,只过滤完全空白的行,保留所有有数据的行:
=VSTACK( FILTER(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表1!A:Z"), BYROW(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表1!A:Z"), LAMBDA(row, COUNTA(row)>0))), FILTER(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表2!A:Z"), BYROW(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表2!A:Z"), LAMBDA(row, COUNTA(row)>0))) )
- 替换
目标表1和目标表2为你实际要合并的工作表名称,A:Z为数据范围 - 首次使用需授权访问源表格
方案2:FILTER + MMULT(兼容旧版Google Sheets)
用MMULT计算每行非空单元格总数,过滤总数为0的空白行:
={ FILTER(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表1!A:Z"), MMULT(--(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表1!A:Z")<>""), SEQUENCE(COLUMNS(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表1!A:Z")),1,1,0))>0); FILTER(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表2!A:Z"), MMULT(--(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表2!A:Z")<>""), SEQUENCE(COLUMNS(IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表2!A:Z")),1,1,0))>0) }
方案3:QUERY多列非空判断
如果习惯用QUERY,可以指定多列非空条件,确保只要某列有数据就保留该行:
=QUERY( {IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表1!A:Z");IMPORTRANGE("1aSnbySwNPEvkkXqw6ItuBpZ_6-o58HPlVicIHWD0Y4I","目标表2!A:Z")}, "select * where Col1 is not null or Col2 is not null or Col3 is not null", 1 )
- 按需添加更多
ColX is not null条件,覆盖所有可能有数据的列 - 最后一个参数
1表示保留表头,若无表头可改为0
内容的提问来源于stack exchange,提问作者Kay
相关产品推荐
相关产品推荐

