I am working on developing a formula that references the values in Column A and adapts its functionality based on those numbers.
For instance, if I have 25 results in Column A of Sheet1, I would like to split and use the TEXTJOIN function according to the corresponding values in Column A of Sheet2, as illustrated in the formula below.
My goal is to create a dynamic formula that operates in this manner.
Sheet1
| Name |
|---|
| Value1 |
| Value2 |
| Value3 |
| Value4 |
| Value5 |
| Value6 |
| Value7 |
| Value8 |
| Value9 |
| Value10 |
| Value11 |
| Value12 |
| Value13 |
| Value14 |
| Value15 |
| Value16 |
| Value17 |
| Value18 |
| Value19 |
| Value20 |
| Value21 |
| Value22 |
| Value23 |
| Value24 |
| Value25 |
Sheet2
| Number of Textjoins | Results |
|---|---|
| 5 | =TEXTJOIN("', '", TRUE, ARRAYFORMULA("'" & Sheet1!B2:B6 & "'")) |
| 6 | =TEXTJOIN("', '", TRUE, ARRAYFORMULA("'" & Sheet1!B7:B12 & "'")) |
| 4 | =TEXTJOIN("', '", TRUE, ARRAYFORMULA("'" & Sheet1!B13:B16 & "'")) |
| 5 | =TEXTJOIN("', '", TRUE, ARRAYFORMULA("'" & Sheet1!B17:B20 & "'")) |
| 5 | =TEXTJOIN("', '", TRUE, ARRAYFORMULA("'" & Sheet1!B21:B25 & "'")) |
Tried but got an error:
=TEXTJOIN("', '", TRUE, ARRAYFORMULA(
IF(MOD(ROW(Sheet1!B2:B)-ROW(Sheet1!B1), 5) = 0, "'" & Sheet1!B2:B & "'", "")))
Here is the final Result:
| Number of Textjoins | Results |
|---|---|
| 5 | 'Value1'', ''Value2'', ''Value3'', ''Value4'', ''Value5' |
| 6 | 'Value6'', ''Value7'', ''Value8'', ''Value9'', ''Value10'', ''Value11' |
| 4 | 'Value12'', ''Value13'', ''Value14'', ''Value15' |
| 5 | 'Value16'', ''Value17'', ''Value18'', ''Value19', ''Value20' |
| 5 | 'Value21'', ''Value22'', ''Value23'', ''Value24'', ''Value25' |
Here's a generalized logic which you may adapt to your scenario:
=let(Λ,D2:D6,
map(Λ,lambda(Σ,textjoin(", ",1,chooserows(B2:B,sequence(Σ,1,if(row(Σ)=row(Λ),1,sum(D2:offset(Σ,-1,))+1)))))))