在VBA中修改SUMIFS公式-范围

时间:2019-01-31 17:38:44

标签: excel vba excel-formula

我有一个很大的Excel文件,其中包含很多公式。其中一个引用了另一个文件:

    =SUMIFS('T:\3Q2018\[TI -Sept 18.xlsm]Base CM1'!$C$5:$C$59;
'T:\3Q2018\[TI -Sept 18.xlsm]Base CM1'!$A$5:$A$59;
$C16;
'T:\3Q2018\[TI -Sept 18.xlsm]Base CM1'!$R$5:$R$59;
"DOLARES")

我想做的是轻松修改路径。我在几个单元格中都有相同的公式,因此,如果需要更改它,则必须逐个单元格地进行。

例如,上一个公式将像这样更改:

=SUMIFS('T:\4Q2018\[TI -Dec 18.xlsm]Base CM1'!$C$15:$C$49;
'T:\4Q2018\[TI -Dec 18.xlsm]Base CM1'!$A$15:$A$49;
$C16;
'T:\4Q2018\[TI -Dec 18.xlsm]Base CM1'!$R$15:$R$49;
"DOLARES")

我必须将2018年12月9日更改为2018年4月及其范围。

这就是我要简化的内容。我已经尝试过使用VBA和其他公式,但是没有成功。

我曾经考虑过在一个单元格中编写路径并从那里获取路径,但是现在我不知道如何。

有帮助吗?

1 个答案:

答案 0 :(得分:1)

类似这样的东西:

(pd.concat([df2.set_index('id'), df3.set_index('id')], axis=1)
   .reindex(df1.Id, fill_value='IDNP')
   .reset_index())

   Id  val1  val2
0   1     1     1
1   2  IDNP  IDNP
2   3         NaN
3   4     0     0
4   5   NaN