EXCEL:从求和公式中获取条件

EXCEL: get criteria from a sumif formula

我一直在尝试找到一种方法来从如下所示的 sumif 公式中获取标准

=SUMIFS(N:N,G:G,"1670",H:H,"2016")

每个 sumif 都被硬编码了....所以我只想在一个单元格 (1670) 中提取标准 1,在一个单元格中提取标准 2 (2016)。 excel 解决方案或 vba 都可以

使用 excel 的适当版本,您可以使用 FORMULATEXT 函数获取包含公式的字符串。

要从中获得标准,您必须对公式的格式做出某些假设 - 如果您知道逗号仅出现在参数之间,则很容易将文本拆分为逗号并提取;但是在不同的语言环境中,您可能会发现在您期望逗号的地方使用了分号;范围内可能有逗号;等等

您需要解决方案有多稳健?

扩展@Floris 的答案,下面的一组公式为您提供了标准范围和公式中的标准。下面的公式用于删除 "=SUMIF(" & ")"

=SUBSTITUTE(SUBSTITUTE(FORMULATEXT(SUMIF_FORMULA),"=SUMIFS(",""),")","")

FIND 函数查找公式中逗号的位置。需要最后一个 LEN 函数来获取最后一个条件。

MID 命令用于获取两个逗号之间的文本。 MID 函数中的“+1”和“-1”用于从输出中删除逗号。无法生成 google sheet,因为无法识别 FORMULATEXT 函数。