excel関数勉強中。VBAは今のとこさっぱりです。

Joined September 2022
100 Photos and videos
=LET(範囲,A2:C3,座標,LAMBDA(x,y,INDEX(x,ROW(TAKE(範囲,y,y)))), 座標($A:$A,1):座標($XFD:$XFD,-1)) 揮発性関数なしかつ参照セルを最小限にした形。 EntireColumnもこの考え方でできそうですね。 #Excel
エクセルのワークシート関数で、指定したセルを含む「行全体あるいは列全体」を取得する数式は書けるでしょうか?(たとえば「EntireRow(A2:A3) 」が「2:3」を返す) 要は、VBAでいうRange.EntireRow、Range.EntireColumn的な関数をワークシート関数で書けるでしょうか? #エクセルクイズ
1
2
723
=LET(a,B1,b,SEQUENCE(a), c,TOCOL(b b/a TRANSPOSE(b)), WRAPROWS(XMATCH(c,SORT(c)),a)) LETフル活用で短く書けますね。 #Excel
左上から右下に数が増加する正方行列を #Excel 数式で作ってみました✨ ・B1セルにサイズを指定 ・左下方向に1ずつ増加 ・最左列に来たら1列右の1行目から再開 ・最右列まで来たら1行下の最右列から再開 ・条件付き書式はオマケ #エクセルクイズ にいかがでしょうか? #Excelクイズ #ExcelChallenge
1
1
6
188
=LET(a,TEXTSPLIT(A1,SEQUENCE(10)-1,,1),b,TEXTSPLIT(A1,a) 1,CONCAT(TOCOL(VSTACK(b,a),2,1))) 昔似た数式を組んだことがあります。 正規表現関数は無しでもいけますね。 #Excel
すぐ終わりそうな気がするので、もう一個くらい出しときます #ExcelChallenge #エクセルクイズ A列の文字列の中の連続した数字部分に「 1」した結果を、C列に表示させてください ※MAP入れるだけなのでスピルじゃなくていいです ※「-1」は「0」になっても「-2」になってもいいです
1
1
2
164
=LET(rev,LAMBDA(x,SORTBY(x,SEQUENCE(ROWS(x)),-1)),x,rev(A:.A),y,SCAN(,x,MAX),FILTER(rev(y),rev(y)=rev(x))) 逆順でSCANすれば良いですね。 #Excel
GWの暇つぶしにエクセルクイズはいかがでしょうか #ExcelChallenge #エクセルクイズ A列には1行目から下方向に雑多な数値が並んでいます 範囲内の最大値を、C列へ順番に抜き出してください ※2つ目以降の最大値は「1つ前の最大値があった場所よりも下の範囲」から抜き出してください(画像参照)
1
1
3
146
GROUPBY2回回してこねこねする。 #Excel
過不足なく全く同じスキルセットをもつ人物の組み合わせを求める。SQLで解くとかなりめんどくさいので、Excelなら簡単だろうと思ってやってみたらそうでもなかった。さてみなさんはどうでしょうか。(同じスキルセットでも順番が異なるケースも想定してください。) #エクセルクイズ
1
1
123
=COLUMNS(B2:F2)-IFERROR(XMATCH(0,B2:F2,,-1),0) 逆順検索ですね。 #Excel
軽めの問題をば #Excel #エクセルクイズ B:F列の2行目から下には「0」か「1」が入力されます 行ごとに右から「1」が連続する数を、G2に入れる数式で計算してください BYROW関数を入れるだけなのでスピルはしなくてもいいです
1
1
5
138
本来の用途なら行列履修してるかどうかが肝ですね。 話題に上がるのはほとんど曲芸用途ですが。 #Excel #MMULT
TLでMMULT関数の話題が少し前に多かったのですが…。 世間における難易度の感覚を確認するために、よかったらアンケートにご協力ください✔️ #Excel #Excel関数アンケート#MMULT関数 の使い方◆ 難易度の印象は?
1
1
63
=LET(SHIFT,LAMBDA(a,b,c,d,LET( x,SEQUENCE(ROWS(a))-b, y,SEQUENCE(,COLUMNS(a))-c, IF(x*y,IFERROR(INDEX(a,x,y),d),d))), SHIFT(A1#,1,0,999)) INDEXを使うのが正攻法かな。 二重のエラー回避が必要ですが。 #Excel
指定した領域(第1引数)を、指定した行(第2引数)・列(第3引数)だけ縦・横にずらして、空いたところに指定した値(第4引数)を入れるような関数SHIFTを作成してください。 第2・第3引数には0や負の数(上、左にずらして表示)も指定できるようにしてください。 #エクセルクイズ
1
2
457
=LET(a,";"&A2:A6&","&B2:B6&",",b,SUBSTITUTE(","&C2:C6,",",a),TEXTSPLIT(CONCAT(b),",",";",1)) #Excel 単発ならパワクがラクですね。
【Excel数式問題】 左の表を右の表に変換する数式を作成してください。 左の表の「項目」列には、複数の値がカンマ(,)区切りで入力されています。 これを分割し、大分類・中分類を維持したまま、1項目1行になるよう右の表の形式に変換する数式を作成してください。
1
1
6
574
=REGEXEXTRACT(B2&"("&B2&")","((. ?))",2) 正規表現は詳しく無いので最小限... #Excel
学費入金の「振込情報」列から、REGEXEXTRACT関数のみを使って「学生名」を抜き出してください #Excel #正規表現クイズ #エクセルクイズ 振込情報は下記の規則で入力されています ・振込人が学生本人の時→「振込人」と記載 ・振込人が本人でない時→「振込人(学生名)」と記載 ・文字列は全て全角
1
1
1
252
=MAX(EVEN(A1),ODD(A1)) #Excel
定数と四則演算を使わずに、A1セルに指定した正の整数に1を加える数式を考えてみました。 (例)画像の数式 ❌数字や文字列の定数 ❌四則演算とそれに類する演算子❌SUM等の直接四則演算をする関数 ⭕️A1の参照から生成する数字・文字 #エクセルクイズ にいかがでしょうか? #Excel #Excelクイズ
1
1
4
234
=TEXTJOIN(CHAR(10),,REPT("■",EXPAND(0,A1/100 1,1,10)),REPT({"■","□"},MOD(A1/{10,1},10))) #Excel
Replying to @yamaoka_ss
引退まで、あと478日 日数の減り具合が実感できないのでグラフっぽくしてみた。 ということで、 #エクセルクイズ ■:10日で1個、10個で改行 □:1日で1個
1
1
569
27 Nov 2025
=CHOOSEROWS(VSTACK({"初回購入","",""},B2:D15),IFERROR(MAP(A2:A15,LAMBDA(x,XMATCH(x,DROP(TAKE(A2:A15,1):x,-1),0,-1) 1)),1)) #Excel
【エクセル数式問題】 ありがちな課題です。 スピル+最新関数で上手い数式が出来たらよいのですが… 課題: E:Gに前回購入日,商品,金額を出力する数式 前回なしの場合は"初回購入", 前提: データは日付順に並べてある。 顧客+日付では重複なし(購入は1商品のみ)
1
1
547
27 Nov 2025
=XLOOKUP(SEQUENCE(,SUM(B2:D2)),SCAN(,B2:D2,SUM),B1:D1,,1) 横サイズ可変だと縦スピル大変なので省略。 #Excel
最近エクセルクイズやっていませんでした #Excel #エクセルクイズ B2:D4の数値の数だけ B2:D2の氏名をF列より右に左詰めで表示させてください スピルはしてもしなくてもいいです
1
2
201
22 Nov 2025
=LET(a,A1:D2, b,A1:B4 a, c,LAMBDA(x,ROW(x)&"-"&COLUMN(x)), d,MAP(c(a),LAMBDA(x,IFERROR(XMATCH(x,TOCOL(c(b))),0))), e,FILTER(a,BYROW(d,SUM)=0), f,FILTER(a,BYCOL(d,SUM)=0), IF(OR(ISERROR(e),ISERROR(f),SUM(d)=0),IFERROR(e,f),NA())) #Excel
引数として2つのセル範囲(たとえばA1:D2、A1:B4)を受け取って ・その交わっているセル範囲(A1:B2)または配列を返す関数 ・1つ目のセル範囲から2つ目のセル範囲を除外したセル(A3:B4)または配列を返す関数(※除外した結果が矩形領域にならなかった場合はエラー) は作れる? #エクセルクイズ
56
22 Nov 2025
=LET(a,A2,b,B2,c,UNIQUE(EOMONTH(SEQUENCE(b-a 1,,a),{-1,0}) {1,0}),IFS(c<a,a,c>b,b,1,c)) #Excel
展開する行数が変化するケースこそ、スピルの出番。 「開始日」から「終了日」に含まれる期間を月別に展開するスピル数式、#エクセルクイズ にいかがでしょうか? #Excel #Excelクイズ
2
4
129
26 Oct 2025
これが競技プログラミングなんですね。 何分くらいで解くべきなんでしょうか? #Excel
#エクセルクイズ ABC357 C - Sierpinski carpetを解いてください。ただし、文字数制限のため1セルに1文字ずつ詰めた解答にすること。実行時間は無視してください。 atcoder.jp/contests/abc357/t…
1
2
119
23 Oct 2025
=NOT(ISERROR(FIND(0,TEXTSPLIT(SUBSTITUTE(TEXTJOIN({"",";"},,SIGN(B5:C11-C2)),"-11",0),,";")))) ヘルパー関数とMMULTも縛りで。 #Excel
軽めの問題です #Excel #エクセルクイズ 開始日と終了日の間に基準日が含まれるか数式で計算してください ・結果はスピルで表示させること ・参照していいのは「B5:C11」と「C2」のみ ・上記は複数回の参照不可 ・LET/LAMBDA関数は使用不可 ・「TRUE/FALSE」で返すこと
1
1
95
20 Oct 2025
=LET(MAKEARRAY_,LAMBDA(x,y,z,IF(XOR(ISERROR(z),ISERROR(z&"")),MAKEARRAY(x,y,z),MAKEARRAY(x,y,LAMBDA(a,b,z)))),MAKEARRAY_(5,4,LAMBDA(y,x,y x))) #Excel
MAKEARRAY関数の3つ目の引数は、関数しか受け取れません。 そこで、この関数の機能を拡張して、3つ目の引数に関数だけでなく定数も受け取れるようにしたMAKEARRAY_関数を作成してください。 #エクセルクイズ
1
111
18 Oct 2025
これ系の関数はExcelの処理できる最大値の制限を回避するために特殊な計算をしてるせいで微量な誤差を含んでいます。 A1=A2では検知できないくらい小さな誤差ですが、EXP関数で増幅すると差が出てきます。 MAKEARRAYは微量な誤差もない整数でないと動かないようですね。 #Excel
Replying to @ExcelLAMBDAchan
追記:=MULTINOMIAL()では、殆ど全ての係数組でエラーが発生します。
1
2
6
427