EXCEL:从sumif公式中获取标准

时间:2016-12-12 00:36:51

标签: excel excel-vba excel-formula sumifs vba

我一直试图找到一种方法来获得一个看起来像这样的sumif公式的标准

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

每个sumif都是硬编码的....所以我想要在单元格中的单元格(1670)和标准2(2016)中拉出条件1。无论是excel解决方案还是vba都很好

2 个答案:

答案 0 :(得分:4)

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

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

您需要解决方案的强大程度吗?

答案 1 :(得分:2)

从@Floris扩展答案,下面的公式给出了公式中的标准范围和标准。以下公式用于删除“= SUMIF(”&“)”

<link href="/www-coolapp/resources/css/bootstrap.min.css" rel="stylesheet">
<link href="/www-coolapp/resources/css/font-awesome.min.css" rel="stylesheet">

=SUBSTITUTE(SUBSTITUTE(FORMULATEXT(SUMIF_FORMULA),"=SUMIFS(",""),")","") 函数在公式中查找逗号的位置。获取最后一个标准需要最后一个FIND函数。

LEN命令用于获取2个逗号之间的文本。 MID函数中的“+1”和“-1”用于从输出中删除逗号。由于无法识别MID功能,无法生成Google工作表。

enter image description here