黄旭彬
发表于 2021-11-11 08:17:26
这种问题用VBA处理方便多了。创建一个命令按键。
Private Sub CommandButton1_Click()
Dim ar, br(1 To 60000, 1 To 1), n, i, ii, iii
ar = Range(, .End(3))
For i = 1 To UBound(ar)
For ii = 1 To Val(ar(i, 2))
For iii = 1 To Val(ar(i, 3))
n = n + 1
br(n, 1) = ar(i, 1) & "座-" & ii & Format(iii, "00")
Next
Next
Next
= ""
.Resize(n, 1) = br
End Sub
制造可乐
发表于 2021-11-14 14:13:00
帖子的审核时间太久了。
法眼浅见
发表于 2021-11-15 18:34:47
PQ解法(EXCEL2016及以上自带),结果在H列
木子定月生
发表于 2021-11-16 20:33:49
刷新好久,感觉好难,求大神;不知道有没有使用365的新函数,如lambda的递归以及其他数组函数;
秋天落叶
发表于 2021-11-16 22:41:59
抛砖引玉一下。。。
=IFERROR(LOOKUP(ROW(A1)-1,INT(MMULT(N(ROW($1:$6)>COLUMN(A:E)),EXP(MMULT(LN(B$2:C$6),{1;1})))),A$2:A$6&"座-"&INT((ROW(A1)-1-INT(MMULT(N(ROW($1:$6)>COLUMN(A:E)),EXP(MMULT(LN(B$2:C$6),{1;1})))))/C$2:C$6)+1&TEXT(MOD(ROW(A1)-1-INT(MMULT(N(ROW($1:$6)>COLUMN(A:E)),EXP(MMULT(LN(B$2:C$6),{1;1})))),C$2:C$6)+1,"00")),"")
王二斤
发表于 2021-11-17 21:01:35
俺跟你思路完全一毛一样的哈哈,合不到一块,期待其他大佬给出更好的答案。
=LOOKUP(ROW(),MMULT(N(ROW($2:2)>COLUMN(A:F)),N(+B$1:B$6)*N(+C$1:C$6))+2,A$2:A$6&A$1&"-"&INT((ROW()-2-MMULT(N(ROW($2:2)>COLUMN(A:F)),N(+B$1:B$6)*N(+C$1:C$6)))/C$2:C$6)+1&RIGHT(0&MOD(ROW()-2-MMULT(N(ROW($2:2)>COLUMN(A:F)),N(+B$1:B$6)*N(+C$1:C$6)),C$2:C$6)+1,2))
官先生
发表于 2021-11-18 12:17:06
我感觉用函数的确不好弄,需要静待高手出现。要是发在VBA区,可能很快有解决方案。
海上钢琴猫
发表于 2021-11-23 16:36:07
这种问题用VBA处理方便多了。创建一个命令按键。
Private Sub CommandButton1_Click()
Dim ar, br(1 To 60000, 1 To 1), n, i, ii, iii
ar = Range(, .End(3))
For i = 1 To UBound(ar)
For ii = 1 To Val(ar(i, 2))
For iii = 1 To Val(ar(i, 3))
n = n + 1
br(n, 1) = ar(i, 1) & "座-" & ii & Format(iii, "00")
Next
Next
Next
= ""
.Resize(n, 1) = br
End Sub
曹小琴
发表于 2021-11-26 15:41:54
帖子的审核时间太久了。
沙漠热风
发表于 2021-12-1 19:24:23
PQ解法(EXCEL2016及以上自带),结果在H列