Неприятный синтаксис - ArrayFormula + CON C + Filter - PullRequest
1 голос
/ 07 февраля 2020

Пример

У меня есть эта строка:

=ARRAYFORMULA(IFERROR(CONCATENATE(SORT(FILTER('Personale-vagter-AFKRYDS'!$B$3:$B$7 & " ",ARRAYFORMULA('Personale-vagter-AFKRYDS'!**G3**:**G7**=TRUE)),1,TRUE)),"error"))

... И это работает, но когда я пытаюсь перейти от G3 + G7 к этому ( C3 + G37):

=ARRAYFORMULA(IFERROR(CONCATENATE(SORT(FILTER('Personale-vagter-AFKRYDS'!$B$3:$B$7 & " ",ARRAYFORMULA('Personale-vagter-AFKRYDS'!**C3**:**G37**=TRUE)),1,TRUE)),"fejl"))

... Это не работает.

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

все диапазоны в FILTER должны быть одинакового размера. попробуйте:

=ARRAYFORMULA(IFERROR(CONCATENATE(SORT(
 FILTER('Personale-vagter-AFKRYDS'!B3:B37&" ", 
        'Personale-vagter-AFKRYDS'!G3:G37=TRUE), 1, 1)),"error"))

ОБНОВЛЕНИЕ:

=ARRAYFORMULA(IFNA({
 VLOOKUP(LEFT(A3:A, 1)*1, SPLIT(TRANSPOSE(TRIM(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(CC!C3:C=TRUE, "♦"&IF(CC!B3:B="",,VLOOKUP(
 ROW(CC!A3:A), IF(CC!A3:A<>"", {ROW(CC!A3:A), CC!A3:A}), 2, 1))&"♥"&"♠"&CC!B3:B, ))
 ,,9^9)),,9^9), "♦")), "♠"), "select max(Col2) where Col2 !='' group by Col2 pivot Col1")
 ,,9^9))), "♥"), 2, 0),
 VLOOKUP(LEFT(A3:A, 1)*1, SPLIT(TRANSPOSE(TRIM(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(CC!D3:D=TRUE, "♦"&IF(CC!B3:B="",,VLOOKUP(
 ROW(CC!A3:A), IF(CC!A3:A<>"", {ROW(CC!A3:A), CC!A3:A}), 2, 1))&"♥"&"♠"&CC!B3:B, ))
 ,,9^9)),,9^9), "♦")), "♠"), "select max(Col2) where Col2 !='' group by Col2 pivot Col1")
 ,,9^9))), "♥"), 2, 0),
 VLOOKUP(LEFT(A3:A, 1)*1, SPLIT(TRANSPOSE(TRIM(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(CC!E3:E=TRUE, "♦"&IF(CC!B3:B="",,VLOOKUP(
 ROW(CC!A3:A), IF(CC!A3:A<>"", {ROW(CC!A3:A), CC!A3:A}), 2, 1))&"♥"&"♠"&CC!B3:B, ))
 ,,9^9)),,9^9), "♦")), "♠"), "select max(Col2) where Col2 !='' group by Col2 pivot Col1")
 ,,9^9))), "♥"), 2, 0),
 VLOOKUP(LEFT(A3:A, 1)*1, SPLIT(TRANSPOSE(TRIM(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(CC!F3:F=TRUE, "♦"&IF(CC!B3:B="",,VLOOKUP(
 ROW(CC!A3:A), IF(CC!A3:A<>"", {ROW(CC!A3:A), CC!A3:A}), 2, 1))&"♥"&"♠"&CC!B3:B, ))
 ,,9^9)),,9^9), "♦")), "♠"), "select max(Col2) where Col2 !='' group by Col2 pivot Col1")
 ,,9^9))), "♥"), 2, 0),
 VLOOKUP(LEFT(A3:A, 1)*1, SPLIT(TRANSPOSE(TRIM(QUERY(QUERY(SPLIT(TRANSPOSE(SPLIT(
 QUERY(TRANSPOSE(QUERY(TRANSPOSE(IF(CC!G3:G=TRUE, "♦"&IF(CC!B3:B="",,VLOOKUP(
 ROW(CC!A3:A), IF(CC!A3:A<>"", {ROW(CC!A3:A), CC!A3:A}), 2, 1))&"♥"&"♠"&CC!B3:B, ))
 ,,9^9)),,9^9), "♦")), "♠"), "select max(Col2) where Col2 !='' group by Col2 pivot Col1")
 ,,9^9))), "♥"), 2, 0)}))

enter image description here

0 голосов
/ 07 февраля 2020

Пожалуйста, используйте это в B3 и перетащите в другие ячейки

ARRAYFORMULA(IFERROR(CONCATENATE(SORT(FILTER(OFFSET('Personale-vagter-AFKRYDS'!$B$3:$B$37,0+(5*(row(A1)-1)),0,5,1) & " ",OFFSET('Personale-vagter-AFKRYDS'!C$3:C$37,0+(5*(row(A1)-1)),0,5,1)=TRUE),1,TRUE)),"fejl"))

...