如何用ArrayFormula避免返回空行并忽略指定内容
Google Sheets 透视表转单行格式公式优化
以下是满足你需求的正确公式:
=ArrayFormula(SPLIT(FLATTEN(FILTER( PROPER('Doc'!A1)&"🦊"&'Doc'!G19:G29&"🦊"&'Doc'!E19:E29&"🦊"&'Doc'!F19:F29&"🦊"&'Doc'!J18:O18&"🦊"&'Doc'!J19:O29, NOT(REGEXMATCH('Doc'!G19:G29, "(?i)avoid")), 'Doc'!J19:O29<>"" )), "🦊"))
公式说明:
- 核心逻辑:先通过
FILTER筛选符合条件的数据源,再进行扁平化和拆分,避免无效行生成 - 两个筛选条件:
NOT(REGEXMATCH('Doc'!G19:G29, "(?i)avoid")):排除G19:G29区域中包含"avoid"的行((?i)实现不区分大小写匹配)'Doc'!J19:O29<>"":仅保留J19:O29区域内单元格非空的行
- 后续通过
FLATTEN将多维数据转为一维,最后用SPLIT按分隔符拆分出单行格式数据
原公式问题分析:
你之前的公式先执行了FLATTEN再尝试过滤,此时无效行已经被扁平化生成,无法再通过外层IF有效剔除;且IF条件仅处理了G列的判断,未覆盖J列空值的过滤需求。
内容的提问来源于stack exchange,提问作者Stuart66
相关产品推荐
相关产品推荐

