это будет работать, только если вы вставите его в A5 того же листа и перетащите его вниз:
=IF(ISBLANK(INDIRECT(ROW(A1))),INDIRECT((ROWS($A$1:A4)-(COUNTA(A:A)-2))),A1)
![enter image description here](https://i.stack.imgur.com/Kx6rn.png)
в противном случае вы можете использовать:
=QUERY({Sheet1!A1:A4;Sheet1!A1:A4;Sheet1!A1:A4},"select *",0)
или:
=TRANSPOSE(SPLIT(REPT(JOIN(",",Sheet1!A1,Sheet1!A2,Sheet1!A3,Sheet1!A4&","),3),",",1))
или:
=TRANSPOSE(SPLIT(REPT(Sheet1!A1&","&Sheet1!A2&","&Sheet1!A3&","&Sheet1!A4&",",3),",",1))
или:
function REPEAT(range,amount,header) {
var output = [];
// check if range is cell
if(typeof range == 'string') {
for(var i=0; i<amount; i++) {
output.push([range]);
}
return output;
} else {
// check if header is wanted
var value;
if(header == 1) {
output.push(range[0]);
value=header;
} else if(header == "") {
value=0;
} else {
value=0;
}
for(var i=0; i<amount; i++) {
for(var j=value, jLen=range.length; j<jLen; j++) {
output.push(range[j]);
}
}
return output;
}
}
=REPEAT(Sheet1!A1:A4,3,0)