如果某行中的值位于特定列中,并且相邻的单元格具有特定值,则该行中的值之和

时间:2018-12-20 14:06:18

标签: excel excel-formula sumifs

链接到数据屏幕截图:https://imgur.com/a/CrRLb6d

我正在使用一个Excel文件,该文件具有4列的重复组(请参见图像:列标题为Time,Med1,Med2,Med3)。我想在左侧的B列中将值的总和放在一行中,但是唯一应求和的值是满足条件的值:

  1. 该值在Med1列(所有具有Med1标头的列)中;以及
  2. 同一行(Med1列左侧的1列)中相邻的Time值等于或大于1.5。

因此,例如看第10行(在示例中突出显示),E10和I10中的Med1值应在B10中求和(因为D10和H10中它们各自的时间值分别为1.75和1.5,即> = 1.5),但不是M10中的Med1值(L10中的时间值为1.25,不满足上面的第二个条件)。

一些其他信息: 每个“块”的固定宽度为4列,中间没有空格(在实际的excel文件中,其中有240个块)。 时间模式像所示示例一样继续,始终从0开始,比上一个块低一排。

我尝试过的内容:SUMIF,SUMIFS和INDEX函数,但是如果我尝试合并条件(特别是因为不是1个需要检查一行的时间列值,而是要检查多个时间列),则会出现#VALUE错误值)。

以前,我只是想将一行中的所有Med1值求和(无论相邻的Time值如何),像这样:

= SUMIF($ D $ 2:$ O $ 2;“ Med1”; D3:O3)

但是,使用相邻时间值的第二个条件,我似乎无法使其正常工作。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

如果图像中的每个块都紧挨着块,并且您要求和的值始终是时间值右边的1个单元格,则只有时间值可以> = 1.5(所有您的MedX值<1),那么此公式将对您有效:

=SUMIF(D3:O3,">=1.5",E3:P3)

如果MedX值有可能> = 1.5,那么这个更明确的公式应该对您有用:

=SUMPRODUCT(--($D$2:$O$2="Time"),--(D3:O3>=1.5),--($E$2:$P$2="Med1"),E3:P3)