大数跨境

最大值所在位置

最大值所在位置 浅谈出口账务和excel函数
2026-10-03
17

这张图展示的是用 Excel 365 的新函数(SCAN、LAMBDA、LET 等) 来查找所有最大值所在的位置的“一体版”公式。

你截图中的这个公式写得比较长,核心逻辑是通过 SCAN 遍历区域,找到最大值,再提取行号并组合输出。不过你图中的公式有一些语法瑕疵(例如 SCAN 的初始值写成了空字符串 "" 而非 0,且 FILTER 条件缺失等)。

下面直接给你提供可直接复制使用的标准公式,以及对应的解释:

✅ 推荐的一体版公式(直接粘贴到 F2)

```excel
=LET(
    数据区域, B2:B10,
    最大值, MAX(数据区域),
    满足条件的行号, FILTER(ROW(数据区域), 数据区域=最大值),
    组装结果, HSTACK(满足条件的行号, IF(满足条件的行号, 最大值)),
    IFNA(组装结果, "无匹配")
)
```

(如果你的 Excel 支持中文变量名,上面这串可以直接用;如果报错,把变量名改成英文即可)

英文版(更稳妥):

```excel
=LET(
    data, B2:B10,
    max_val, MAX(data),
    rows, FILTER(ROW(data), data=max_val),
    result, HSTACK(rows, IF(rows, max_val)),
    IFNA(result, "无匹配")
)
```

---

📊 公式结果预期

结合你图中数据(B2:B10,最大值 78):

· 第一列:会依次输出 4、7、9(即 78 所在的行号)。
· 第二列:会依次输出 78、78、78(对应的最大值)。
· 结果会自动向下溢出,不需要手动拖拽。

---

🧠 公式分段拆解(帮你理解原图逻辑)

1. MAX(B2:B10):算出最大值 78。
2. FILTER(ROW(B2:B10), B2:B10=78):筛选出等于 78 的行号,得到 {4;7;9}。
3. HSTACK(行号, 最大值):把行号和最大值横向拼在一起,形成两列多行的数组。
4. IFNA(..., "无匹配"):防止数据区域没有最大值时报错。

---

💡 如果你不想要“一体版”,用最简单的公式:

如果你只是想快速达成图中的效果,不需要把所有逻辑塞进一个单元格,用下面这个简单组合最快:

· F2 单元格:=FILTER(ROW(B2:B10), B2:B10=MAX(B2:B10))  (查找位置)
· G2 单元格:=MAX(B2:B10)  (显示最大值)

如果你坚持要用截图里的 SCAN 写法,说明你的 Excel 版本非常新(Beta 通道),但要注意 SCAN 的初始值必须与数据类型匹配,否则会直接报错。建议用我上面给的 FILTER 方案,兼容性和稳定性更好。

【声明】内容源于网络
0
0
浅谈出口账务和excel函数
1234
内容 1574
粉丝 0
浅谈出口账务和excel函数 1234
总阅读29.7k
粉丝0
内容1.6k