Я пытался найти ответ на этот вопрос, но не смог - мне нужно суммировать столбец за указанный диапазон дат, если мое имя строки совпадает с именем столбца справочного листа.

Т.е.

< Сильный > Reference_Sheet

Date     John  Matt
07/01/19 1     2
07/02/19 1     2
07/03/19 2     1
07/04/19 1     1
07/05/19 3     3
07/06/19 1     2
07/07/19 1     1
07/08/19 5     9
07/09/19 9     2

< Сильный > Лист1

     A     B     

  1        07/01
  2        07/07
  3        Week1 
  4  John  10
  5  Matt  12

Приходится работать с листами Google, и я попытался использовать SUMPRODUCT, который сказал мне, что я не могу умножить тексты, и я попытался SUMIFS, который дал мне знать, что у меня не может быть разных аргументов массива - неудачные попытки были похожи ниже,

=SUMIFS('Reference_Sheet'!B2:AO1000,'Reference_Sheet'!A1:AO1,"=A4",'Reference_Sheet'!A2:A1000,">=B1",'Reference_Sheet'!A2:A1000,"<=B2")

=SUMPRODUCT(('Reference_Sheet'!$A$2:$AO$1000)*('Reference_Sheet'!$A$2:$A$1000>=B$1)*('Reference_Sheet'!$A$2:$A$1000<=B$2)*('Reference_Sheet'!$A$1:$AO$1=$A4))
0
S31 5 Авг 2019 в 11:56

2 ответа

Лучший ответ

Это может сработать:

=sumifs(indirect("Reference_Sheet!"&address(2,match(A4,Reference_Sheet!A$1:AO$1,0))&":"&address(100,match(A4,Reference_Sheet!A$1:AO$1,0))),Reference_Sheet!A$2:A$100,">="&B$1,Reference_Sheet!A$2:A$100,"<="&B$2)

Но вам нужно будет указать, сколько строк вниз вам нужно. В моей формуле это выглядит до 100 строк.

Чтобы изменить количество строк, вам нужно изменить количество в трех местах:

  1. & адрес (100
  2. Reference_Sheet! A $ 2: A $ 100, "... в двух местах

Чтобы кратко объяснить, что происходит:

  • найдите имя человека в строке 1, используя match
  • Используйте address и indirect, чтобы построить адрес ячеек для добавления
  • а затем sumIfs() на основе дат.
1
ADW 5 Авг 2019 в 09:23

Альтернатива:

=SUMPRODUCT(QUERY(TRANSPOSE(QUERY($A:$D, 
 "where A >= date '"&TEXT(F$1, "yyyy-mm-dd")&"'
    and A <= date '"&TEXT(F$2, "yyyy-mm-dd")&"'", 1)), 
 "where Col1 = '"&$E4&"'", 0))

0

0
player0 5 Авг 2019 в 10:01