Excel表格的第2-6列有空格。
|----|------------------|----------|----------|----------|----------|----------|
| | A | B | C | D | E | F |
| 1 | StartDate | QID1 | QID2 | QID3 | QID4 | QID5 |
| 2 | 10/03/2024 10:56 | 1 | yes | 3 | | 2 |
| 3 | 10/03/2024 03:10 | 2 | no | 4 | | 23 |
| 4 | 09/03/2024 19:25 | 3 | yes | 2 | | 2 |
| 5 | 09/03/2024 11:40 | 4 | no | 1 | | yes |
| 6 | 09/03/2024 03:55 | 5 | yes | 5 | | no |
| 7 | 08/03/2024 20:10 | 6 | | | | |
| 8 | 08/03/2024 12:25 | 7 | no | | | |
| 9 | 08/03/2024 04:40 | 8 | yes | | | |
| 10 | 07/03/2024 20:55 | 9 | no | | | |
| 11 | 07/03/2024 13:10 | 1 | no | | no | |
| 12 | 07/03/2024 05:25 | 2 | no | | no | |
| 13 | 06/03/2024 21:40 | 3 | no | | no | |
| 14 | 06/03/2024 13:55 | 4 | no | | | |
| 15 | 06/03/2024 06:10 | 5 | no | | 3 | |
要求从第2-6列的每列,找出第一个和最后一个非空格,把它们对应的第1列的格值用"to"拼起来。
|---|----------|--------------------------------------|
| | H | I |
| 1 | QID1 | 06/03/2024 06:10 to 10/03/2024 10:56 |
| 2 | QID2 | 06/03/2024 06:10 to 10/03/2024 10:56 |
| 3 | QID3 | 09/03/2024 03:55 to 10/03/2024 10:56 |
| 4 | QID4 | 06/03/2024 06:10 to 07/03/2024 13:10 |
| 5 | QID5 | 09/03/2024 03:55 to 10/03/2024 10:56 |
使用 SPL XLL
=spl("=d=E@2p(?),d.to(2,).(d(1)(~.pselect@z(~)) /""to""/ d(1)(~.pselect(~)))",A2:F15)
函数 E@2p 对二维序列进行转置。pselect 找到符合条件的第 1 个成员的位置,@z 表示从后往前找。to(2,) 取第 2 至最后一个成员,(1) 第 1 个成员。