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

求助:通过参考编号从另一工作表批量填充DnD怪物列表

DnD遭遇战怪物列表提取解决方案

问题根源

你需要在Initiative工作表输入遭遇编号后,从ENCOUNTER PROTO表提取对应怪物列表,但现有公式存在明显缺陷:

  • XLOOKUP仅返回首个匹配的怪物,下拉时因固定引用$G$2,会重复显示同一结果,无法遍历所有符合条件的怪物。
  • INDEX+SMALL+IF未正确启用数组计算(旧版Excel需组合键触发,Google Sheets需添加ARRAYFORMULA),且缺少错误处理,当行号超出匹配怪物数量时会返回#NUM!。

可行方案

Google Sheets 一键提取

在Initiative工作表的目标起始单元格(比如E5)输入以下公式,自动填充所有匹配怪物,无需手动下拉:

=ARRAYFORMULA(IFERROR(FILTER('ENCOUNTER PROTO'!$D$6:$D$105, 'ENCOUNTER PROTO'!$B$6:$B$105=$G$2), ""))
  • 逻辑:FILTER精准筛选对应遭遇编号的怪物,ARRAYFORMULA自动扩展结果到所有行,IFERROR确保无匹配时显示空值而非错误提示。

Excel 适配方案

动态数组版(Excel 365/2021)

直接输入公式,自动溢出所有匹配结果:

=IFERROR(FILTER('ENCOUNTER PROTO'!$D$6:$D$105, 'ENCOUNTER PROTO'!$B$6:$B$105=$G$2), "")

旧版Excel

在起始单元格输入以下公式后,按Ctrl+Shift+Enter触发数组计算,再下拉填充足够多的行:

=IFERROR(INDEX('ENCOUNTER PROTO'!$D$6:$D$105, SMALL(IF('ENCOUNTER PROTO'!$B$6:$B$105=$G$2, ROW('ENCOUNTER PROTO'!$D$6:$D$105)-5), ROW()-4)), "")
  • 新增IFERROR处理无匹配或超出数量的情况,避免#NUM!错误;必须通过组合键触发数组计算,才能遍历所有符合条件的怪物。

配合Initiative自动排序优化

如果要直接按 initiative 值排序(方便追踪攻击顺序),可将提取公式嵌套进SORT(假设ENCOUNTER PROTO表E列是怪物基础initiative值):

# Google Sheets/Excel 365
=ARRAYFORMULA(IFERROR(SORT(FILTER('ENCOUNTER PROTO'!$D$6:$E$105, 'ENCOUNTER PROTO'!$B$6:$B$105=$G$2), 2, FALSE), ""))
  • 参数FALSE代表按initiative降序排列,改为TRUE可切换为升序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 00:05:05