You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中能否为含IFNA、TRANSPOSE、FILTER的公式添加ARRAYFORMULA?

解决方案

修正后的数组公式

直接在D列顶部(如D2单元格)输入以下公式:

=ARRAYFORMULA(BYROW(B2:B, LAMBDA(category, IF(category="", "", IFNA(TRANSPOSE(FILTER('Category Setup'!$C$3:$C$42, 'Category Setup'!$B$3:$B$42=category)), "")))))

原理说明

  • BYROW(B2:B, LAMBDA(category, ...)):遍历B列从第2行开始的每个单元格,将当前单元格值赋值给category变量,逐行执行后续匹配逻辑
  • IF(category="", "", ...):跳过B列空行,避免生成无效空结果
  • 保留你原本的IFNA(TRANSPOSE(FILTER(...)), "")逻辑:匹配对应分类的子分类并转置,无匹配时返回空字符串
  • 外层ARRAYFORMULA:确保公式以数组形式输出,自动覆盖D列所有对应行

原公式失效原因

原公式中'FULL LIST'!$B2是单个单元格引用,ARRAYFORMULA无法自动遍历整个B列;同时FILTER不支持在ARRAYFORMULA中直接处理多条件数组,必须通过BYROW这类迭代函数逐行处理每个分类值,才能让TRANSPOSE正常生成对应行的横向结果。

内容的提问来源于stack exchange,提问作者dgDG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:37:31