В этой таблице:
Столбцы H
и I
дают сумму Dr
или Cr
для каждого Account
в диапазоне дат.
Я ищу формулу массива, которая заменяет их, чтобы, если в столбец G (например, «Учетная запись 4») добавить новый Account
(например, «Учетная запись 4»), формула массива вычислила бы итоги для этой новой учетной записи вместо того, чтобы копировать существующую формулу =sumifs
вниз.
Вы можете использовать эту формулу:
=MAKEARRAY(COUNTA(G3:G),2,LAMBDA(r,c,LAMBDA(sums,
IF(AND(sums>0,c=1),sums,IF(AND(sums<0,c=2),-sums,"")))
(SUMIFS($C$3:$C,$D$3:$D,INDEX(G3:G,r),$A$3:$A,"> = "&$H$1,$A$3:$A,"< = "&$I$1)-SUMIFS($C$3:$C,$E$3:$E,INDEX(G3:G,r),$A$3:$A,"> = "&$H$1,$A$3:$A,"< = "&$I$1))))
ОБНОВЛЕННАЯ ФОРМУЛА:
=MAP(BYROW(G3:G,LAMBDA(gx,IF(gx = "",,SUM(IFERROR(FILTER(C:C,A:A>=H1,A:A<=I1,D:D=gx)))))),BYROW(G3:G,LAMBDA(gx,IF(gx = "",,SUM(IFERROR(FILTER(C:C,A:A>=H1,A:A<=I1,E:E=gx)))))),LAMBDA(ax,bx,IF(ax = "",,IF(ax-bx>0,{ax-bx,IFERROR(1/0)},{IFERROR(1/0),-(ax-bx)}))))
-
упс.. спасибо мартин:) перепроверю
удалите все свои формулы в диапазоне H3:I
и используйте это в H3
:
=INDEX(LAMBDA(d, c, {IF(d>c, d-c, ), IF(c>d, c-d, )})
(QUERY({A3:D}, "select sum(Col3)
where Col1 >= date '"&TEXT(H1, "e-m-d")&"'
and Col1 <= date '"&TEXT(I1, "e-m-d")&"' group by Col4 label sum(Col3)''"),
QUERY({A3:C, E3:E}, "select sum(Col3)
where Col1 >= date '"&TEXT(H1, "e-m-d")&"'
and Col1 <= date '"&TEXT(I1, "e-m-d")&"' group by Col4 label sum(Col3)''")))
=INDEX(LAMBDA(x, {INDEX(x,,1), {D2:E2; QUERY({
IF(INDEX(x,,2)<INDEX(x,,3), INDEX(x,,3)-INDEX(x,,2), ),
IF(INDEX(x,,3)<INDEX(x,,2), INDEX(x,,2)-INDEX(x,,3), )}, "offset 1", )}})
(QUERY({A3:D, IFERROR(D3:D/0, D2); A3:C, E3:E, IFERROR(E3:E/0, E2)},
"select Col4,sum(Col3)
where Col1 >= date '"&TEXT(H1, "e-m-d")&"'
and Col1 <= date '"&TEXT(I1, "e-m-d")&"'
group by Col4
pivot Col5")))
Всегда интересны ваши взгляды! Но это будет зависеть от наличия значений как в Cr, так и в Dr, чтобы каждая учетная запись появлялась каждый месяц, а порядок был в алфавитном порядке в G. Я прав?
@Мартин, да и да. обновлено пуленепробиваемым решением
Хороший подход 👌
Хорошая формула, но она выдаст ошибку, если учетная запись не появляется каждый месяц как в Cr, так и в Dr.