『数字の数だけ番号を入力する方法』(名無し)
どなたか教えてください。
A1のセルに数字が入力されたらB1へその数字の数だけ自動で番号を入れたいです。
例えば
A B
1 3 1,2,3
2 2 4,5
3 4 6,7,8,9
というように連番で1つのセルへ入力させることは可能でしょうか?
< 使用 Excel:unknown、使用 OS:unknown >
>使用 Excel:unknown 使用しているバージョンがExcel2021〜 (スピルするバージョン)なら B1 =TEXTJOIN(",",,SEQUENCE(A1)) B2 =TEXTJOIN(",",,SEQUENCE(A2,,SUM($A$1:A1,1))) ↓コピペ (はてな) 2025/08/08(金) 11:26:27
バージョンが2024や365なら B1 =LET(x,TEXTJOIN(",",,SEQUENCE(SUM($A$1:A1))),TEXTAFTER(x,",",A1+1,,,x)) 下コピー (あ) 2025/08/08(金) 17:17:17
バージョンが2024や365なら B1 =BYROW(A1:A3,LAMBDA(y,LET(x,TEXTJOIN(",",,SEQUENCE(SUM($A$1:y))),TEXTAFTER(x,",",y+1,,,x)))) 下コピーなし (い) 2025/08/08(金) 17:38:58
こんな風にするとよいかも知れません。B1セルに下記を入れて下さい。
=LET( rng, A1:A6, end, SCAN(0,rng,LAMBDA(accum,y,accum+y)), start, VSTACK(1,DROP(end,-1)+1), a, REDUCE("",SEQUENCE(ROWS(rng)), LAMBDA(accum,x, IF(INDEX(rng,x,1)=0,VSTACK(accum,""), VSTACK(accum,TEXTJOIN(",",TRUE,SEQUENCE(INDEX(rng,x,1),1,INDEX(start,x,1)))) ) ) ), DROP(a,1) )
A列 1 3 2 2 3 4 4 5 5 6 6 7 などという例で試すとよいかも。 # A列のセルの値が0や空白の時にもエラーにならないよう修正しました。 (8/8 21:15)
(xyz) 2025/08/08(金) 19:47:09
トピ主様の例だと上手くいってましたがその例しか上手くいかない関数でした。申し訳ないです。 B1 =TEXTJOIN(",",,SEQUENCE(A1,,INDEX(CHOOSEROWS(SEQUENCE(SUM($A$1:A1)),A1*-1),1))) 下コピー 多分問題ないはず・・・ LAMDAは難しすぎて無理でした。(識者の方お願いします) (あ) 2025/08/08(金) 21:23:11
SEQENC関数の開始に与える配列が求まれば、あとはMAP関数でできるんじゃないかと =LET(list,A1:A3, start,DROP(SCAN(1,VSTACK({0},list),SUM),-1), MAP(list,start,LAMBDA(d,s,ARRAYTOTEXT(SEQUENCE(d,,s)))) ) (´・ω・`) 2025/08/08(金) 21:40:20
MAP関数を使うんですね。chatgptに質問しながら作ってみました。間違っていたらすみません。 =MAP(A1:A6,LAMBDA(n,TEXTJOIN(",",,SEQUENCE(n,,SUM(A1:n)-n+1)))) (あ) 2025/08/08(金) 22:02:17
式 =IF(OR(COLUMN(A2)<SUM($A$1:$A1)+1,COLUMN(A2)>SUM($A$1:$A2)),"",C$1)
を入力したセル C1 を右方20列&下方にオートフィル
式 =TEXTJOIN(",",,C2:XFD2) を入力したセル B2 のフィルハンドルを憎々し気に「エイヤッ!」とダブルクリック
(Mike) 2025/08/11(月) 07:10:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.