簡體   English   中英

在 Google 表格中重復每行 N 次

[英]Repeat each row N times in Google Sheets

我有一列包含 3 行,我希望能夠將這些行每行重復 5 次。

例子

| Name |
|------|
| Dog  |
| Cat  |
| Ball |
|------|

期望輸出

| Output |
|--------|
| Dog    |
| Dog    |
| Dog    |
| Dog    |
| Dog    |
| Cat    |
| Cat    |
| Cat    |
| Cat    |
| Cat    |
| Ball   |
| Ball   |
| Ball   |
| Ball   |
| Ball   |
|--------|

這是我嘗試過的:

=TRANSPOSE(split(rept(join(";",A:A)&";",5),";"))

我的嘗試產生:

| Output |
|--------|
| Dog    |
| Cat    |
| Ball   |
| Dog    |
| Cat    |
| Ball   |
| Dog    |
| Cat    |
| Ball   |
| Dog    |
| Cat    |
| Ball   |
| Dog    |
| Cat    |
| Ball   |
|--------|
=ARRAYFORMULA(TRIM(TRANSPOSE(SPLIT(QUERY(
 REPT(A1:A3&"♠", 5), ,999^99), "♠"))))

0


=SORT(TRIM(TRANSPOSE(SPLIT(QUERY(ARRAYFORMULA(
 REPT(A1:A3&"♠", 5)), ,999^99), "♠"))), 1, 0)

0

=transpose(split(join("~",ArrayFormula(rept({Balls}&"~",3))),"~"))

在哪里:

  • Range是要重復的文本范圍
  • Reps是重復次數

請注意,如果您的文本包含 ~ 將"~"所有實例更改為另一個字符

這是另一個技巧。

A1:A3 是在我的例子中重復 4 次的狗、貓、球。

=ARRAYFORMULA(扁平化(A1:A3 & SPLIT(REPT("|",4),"|")))

無需拆分和連接等字符串操作,

=ARRAYFORMULA(FLATTEN(IF(SEQUENCE(ROWS(A2:A4),5),A2:A4)))
  • A2:A4重復范圍
  • 5重復次數
  • SEQUENCE創建二維數字數組
  • IF將一維數組A2:A4轉置為大小等於創建的SEQUENCE數組的二維數組
  • FLATTEN的2D到一維數組。
A1 名稱
A2
A3
A4
輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM