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

Google Sheets转置:如何将筛选结果转置至行的隔列位置?

解决转置筛选结果后隔列填充的问题

Google Sheets 解决方案

你可以通过在筛选结果中插入空值后再转置的方式实现需求,推荐用LET函数简化公式(避免重复计算筛选结果):

=LET(
  filtered_vals, FILTER('Top HP''s List'!A:A, SEARCH("-P/TT", 'Top HP''s List'!A:A)),
  expanded_vals, FLATTEN(ARRAYFORMULA({filtered_vals, ""})),
  TRANSPOSE(expanded_vals)
)

公式说明:

  1. filtered_vals:完成你原本的筛选逻辑,提取A列中包含-P/TT的所有内容,得到一个垂直数组。
  2. ARRAYFORMULA({filtered_vals, ""}):将每个筛选值与空值横向配对,生成一个2列的数组(第一列是筛选值,第二列为空)。
  3. FLATTEN:把上述2列数组转换为垂直一维数组,顺序变为「筛选值1 → 空 → 筛选值2 → 空 → ...」。
  4. TRANSPOSE:将垂直数组转置为横向,最终实现A、C、E等奇数位置列填充值,偶数位置列留空的效果。

Excel 解决方案(365+版本)

Excel 365及以上版本支持LET、HSTACK等函数,可以用更简洁的写法:

=LET(
  filtered_vals, FILTER('Top HP''s List'!A:A, ISNUMBER(SEARCH("-P/TT", 'Top HP''s List'!A:A))),
  expanded_vals, TOCOL(HSTACK(filtered_vals, ""),,1),
  TRANSPOSE(expanded_vals)
)

公式说明:

  1. filtered_vals:筛选出A列包含-P/TT的内容,ISNUMBER(SEARCH(...))用于生成FILTER需要的布尔判断(避免SEARCH找不到内容时返回错误)。
  2. HSTACK(filtered_vals, ""):将每个筛选值与空值横向拼接成2列数组。
  3. TOCOL:把2列数组转换为垂直一维数组,顺序变为「筛选值1 → 空 → 筛选值2 → 空 → ...」。
  4. TRANSPOSE:转置后实现奇数列填充值、偶数列留空的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:37:36