• 【完全版】IFNA関数の使い方|#N/A だけをスマートに処理できる“検索関数の相棒”

    ✅ IFNAとは?

    IFNA(イフ・エヌエー)関数は、 Excel のエラーの中でも #N/A(該当なし)だけを処理できる 特化型のエラー処理関数です。

    • XLOOKUP / VLOOKUP の「見つからない」エラーだけ処理したい
    • 他のエラー(#VALUE!、#DIV/0! など)はそのまま残したい
    • 検索系の表をきれいに整えたい

    そんなときに IFERROR より安全で正確に使える関数です。

    🔍 IFNA関数の書式

    コード

    =IFNA(値, #N/Aのときの値)
    

    引数の意味

    • :エラーが出る可能性のある式
    • #N/Aのときの値:#N/A の場合に返す値

    📘 基本例:XLOOKUP の #N/A を「未登録」に置き換える

    コード

    =IFNA(XLOOKUP(A2, B2:B100, C2:C100), "未登録")
    

    → 見つからないときだけ「未登録」と表示。

    📘 VLOOKUP の #N/A を空白にする

    コード

    =IFNA(VLOOKUP(A2, B2:C100, 2, FALSE), "")
    

    → 検索結果がないときだけ空白に。

    🎯 IFERROR との違い(実務で超重要)

    IFERROR は「すべてのエラー」を処理

    → #DIV/0! や #VALUE! も消えてしまう

    IFNA は「#N/A だけ」を処理

    → 他のエラーはそのまま残る

    コード

    =IFERROR(A2/B2, 0)   → B2=0 のとき 0 になる(気づけない)
    =IFNA(A2/B2, 0)      → #DIV/0! はそのまま(気づける)
    

    検索エラーだけ処理したいなら IFNA が安全。

    🔥 MATCH と組み合わせて「存在チェック」

    コード

    =IFNA(MATCH(A2, B2:B100, 0), "なし")
    

    → A2 がリストにないときだけ「なし」。

    🔥 FILTER と組み合わせて「該当なし」を表示

    コード

    =IFNA(FILTER(A2:C100, B2:B100="営業"), "該当なし")
    

    → FILTER の #CALC! エラーを回避。

    🧩 IFNA × TEXT(整形して表示)

    コード

    =IFNA(TEXT(XLOOKUP(A2, B2:B100, C2:C100), "0.0%"), "-")
    

    → 見つからないときは「-」。

    📅 日付検索の #N/A を処理

    コード

    =IFNA(XLOOKUP(A2, 日付一覧, 値一覧), "")
    

    → 日付が存在しないときだけ空白。

    🛠 よくあるミスと注意点

    1. IFERROR と使い分ける

    • 検索系 → IFNA
    • 計算系 → IFERROR

    2. #N/A 以外のエラーは処理されない

    → #DIV/0! や #VALUE! はそのまま

    3. 空白を返すと計算に使えない

    → 必要に応じて 0 を返す

    📊 IFNA / IFERROR / ISERROR の違い(まとめ)

    目的IFNAIFERRORISERROR
    #N/A だけ処理×
    全エラー処理××
    エラー判定××
    検索関数との相性

    📝 まとめ:IFNAは“検索エラー専用の最強ツール”

    • #N/A(該当なし)だけをスマートに処理
    • XLOOKUP / VLOOKUP と相性抜群
    • 他のエラーは残すので安全
    • FILTER / MATCH と組み合わせると強力
    • IFERROR と使い分けると完璧

    Excelで検索系の表を扱うなら必ず覚えておきたい関数です。

  • 【完全版】IFERROR / ISERRORの使い方|エラーを制御して見やすい表を作る実務最強コンビ

    ✅ IFERROR / ISERRORとは?

    Excelで発生する エラー(#N/A、#VALUE!、#DIV/0! など)を制御する ための関数です。

    • IFERROR:エラーなら別の値を返す
    • ISERROR:エラーかどうかを判定する

    VLOOKUP・XLOOKUP・割り算・検索関数など、 エラーが出やすい場面で必須の関数です。

    🔍 IFERROR関数(エラーなら別の値を返す)

    コード

    =IFERROR(値, エラー時の値)
    

    🔍 ISERROR関数(エラーかどうか判定)

    コード

    =ISERROR(値)
    

    → TRUE(エラー)/FALSE(エラーなし)

    📘 基本例:VLOOKUPのエラーを「なし」に置き換える

    コード

    =IFERROR(VLOOKUP(A2, B2:C100, 2, FALSE), "なし")
    

    → 見つからないときの #N/A を「なし」 に変換。

    📘 割り算のエラー(0除算)を回避

    コード

    =IFERROR(A2/B2, 0)
    

    → B2 が 0 のとき 0 を返す

    🎯 XLOOKUP と組み合わせる(実務で最強)

    コード

    =IFERROR(XLOOKUP(A2, B2:B100, C2:C100), "未登録")
    

    → 未登録データを「未登録」と表示。

    🎯 数式のエラーを空白にする(表をきれいに)

    コード

    =IFERROR(A2/B2, "")
    

    → エラーを 空白 にして見やすくする。

    🔥 ISERRORで“エラーのときだけ処理する”

    コード

    =IF(ISERROR(A2/B2), "エラー", A2/B2)
    

    → エラー判定を使って条件分岐。

    🔥 ISERROR × COUNTIF(存在チェック)

    コード

    =IF(ISERROR(MATCH(A2, B2:B100, 0)), "未登録", "OK")
    

    → A2 がリストに存在するか判定。

    🧩 IFERROR × TEXT(エラーを整形)

    コード

    =IFERROR(TEXT(A2/B2, "0.0%"), "-")
    

    → エラー時は「-」を表示。

    📊 IFERROR × FILTER(条件抽出のエラー回避)

    コード

    =IFERROR(FILTER(A2:C100, B2:B100="営業"), "該当なし")
    

    → 該当データがないときのエラーを防ぐ。

    📅 日付計算のエラーを回避

    コード

    =IFERROR(EDATE(A2, B2), "")
    

    → B2 が空欄でもエラーにならない。

    🛠 よくあるミスと注意点

    1. IFERROR は“すべてのエラー”を捕まえる

    → #N/A だけ処理したいなら IFNA を使う

    2. エラーの原因を隠しすぎない

    → 本来の不具合が見えなくなることもある

    3. ISERROR は TRUE/FALSE を返すだけ

    → 表示を変えたいなら IF と組み合わせる

    4. 空白を返すと計算に使えない

    → 必要に応じて 0 を返すなど調整

    📊 IFERROR / ISERROR / IFNA の違い

    目的IFERRORISERRORIFNA
    エラーを別の値に置換×◎(#N/A限定)
    エラー判定
    #N/A だけ処理×
    全エラー処理×

    📝 まとめ:IFERROR / ISERROR は“エラー制御の基本セット”

    • IFERROR:エラーなら別の値を返す
    • ISERROR:エラーかどうか判定
    • VLOOKUP / XLOOKUP と相性抜群
    • 割り算・検索・抽出で必須
    • IFNA と使い分けると完璧

    Excelでエラーを制御して見やすい表を作るなら必ず覚えておきたい関数です。

  • 【完全版】INDIRECT関数の使い方|文字列からセル参照を作る“動的参照”の最強関数

    ✅ INDIRECTとは?

    INDIRECT(インダイレクト)関数は、 文字列をセル参照として扱うことができる関数です。

    • 「A2」などの文字列をセル参照に変換
    • 参照先をセルの値で切り替える
    • シート名を動的に変更
    • 月別シートを自動参照
    • SUM・VLOOKUP・INDEXなどと組み合わせて最強

    Excelで“動的な参照”を作りたいときに欠かせない関数です。

    🔍 INDIRECT関数の書式

    コード

    =INDIRECT(参照文字列, [A1形式])
    

    引数の意味

    • 参照文字列:セル参照を表す文字列(例:”A2″)
    • A1形式(任意):TRUE(A1形式)/FALSE(R1C1形式)

    📘 基本例:文字列「A2」をセル参照として扱う

    A列B列
    100A2

    コード

    =INDIRECT(B2)
    

    100 (B2 の文字列 “A2” を参照として解釈)

    🎯 行番号をセルで指定して参照を切り替える

    A列B列
    1002
    2003

    コード

    =INDIRECT("A" & B2)
    

    → B2 が 2 → A2 を参照 → B2 が 3 → A3 を参照

    参照先を動的に切り替えられる

    🎯 列を動的に切り替える(COLUMNと組み合わせ)

    コード

    =INDIRECT(CHAR(64 + C2) & "1")
    

    C2=1 → A1 C2=2 → B1 C2=3 → C1

    🔥 シート名をセルで切り替える(実務で最も使う)

    A列
    1月
    2月
    3月

    コード

    =INDIRECT("'" & A2 & "'!B5")
    

    → A2 が「1月」なら 1月シートの B5 を参照 → 月次集計で最強。

    🔥 INDIRECT × SUM(複数シートを合計)

    コード

    =SUM(INDIRECT("'" & A2 & "'!B2:B10"))
    

    → A2 のシート名の範囲を合計。

    🧩 INDIRECT × VLOOKUP(参照先を切り替える)

    コード

    =VLOOKUP(D2, INDIRECT("'" & E2 & "'!A2:C100"), 3, FALSE)
    
    • D2:検索値
    • E2:参照したいシート名

    → シート名を変えるだけで検索先が変わる。

    🧩 INDIRECT × ADDRESS(完全動的参照)

    コード

    =INDIRECT(ADDRESS(B2, C2))
    

    → B2 行 × C2 列 のセルを参照。

    📅 月次シートの自動参照(最強パターン)

    A列
    2026-01
    2026-02
    2026-03

    コード

    =INDIRECT("'" & TEXT(A2, "yyyy-mm") & "'!C5")
    

    → 日付からシート名を自動生成して参照。

    🛠 よくあるミスと注意点

    1. 参照文字列は“正しい形式”で書く必要がある

    例:

    コード

    "A2" → OK  
    "A 2" → NG  
    

    2. シート名にスペースがある場合は ' で囲む

    コード

    =INDIRECT("'売上 データ'!A1")
    

    3. INDIRECT は“参照が固定される”

    → 行列の挿入・削除に追従しない → 必要に応じて使い分ける

    4. 外部参照の INDIRECT は閉じたブックでは動かない

    → 開いているブックのみ有効

    📊 INDIRECT と INDEX の違い(実務で重要)

    目的INDIRECTINDEX
    文字列から参照を作る×
    行列番号で参照
    行列挿入に追従×
    安定性
    速度

    動的参照は INDIRECT、安定した参照は INDEX が最適。

    📝 まとめ:INDIRECTは“動的参照の最強ツール”

    • 文字列をセル参照として扱える
    • 行・列・シート名を動的に切り替え
    • 月次集計・複数シート参照に最強
    • VLOOKUP・SUM と組み合わせると強力
    • INDEX と使い分けると完璧

    Excelで柔軟な参照を作るなら必ず覚えておきたい関数です。

  • 【完全版】FORMULATEXT関数の使い方|セルの数式をそのまま表示できる便利すぎる関数

    ✅ FORMULATEXTとは?

    FORMULATEXT(フォーミュラテキスト)関数は、 セルに入力されている 数式そのものを文字列として表示する 関数です。

    • 数式の確認
    • 数式の説明資料の作成
    • 数式の比較
    • エラー原因の特定
    • 教育・研修資料の作成

    Excelの“裏側”を見える化できる、実務でも学習でも便利な関数です。

    🔍 FORMULATEXT関数の書式

    コード

    =FORMULATEXT(参照)
    

    引数の意味

    • 参照:数式を表示したいセル

    📘 基本例:セルの数式を表示

    A列(数式)B列(FORMULATEXT)
    =SUM(C2:C10)=FORMULATEXT(A2)

    → B2 に “=SUM(C2:C10)” と表示される。

    🎯 数式チェックに最強(複雑な式の可視化)

    A列
    =IF(SUM(B2:B10)>100,”OK”,”NG”)

    コード

    =FORMULATEXT(A2)
    

    =IF(SUM(B2:B10)>100,”OK”,”NG”) そのまま表示されるので、レビューが簡単。

    🎯 資料作成で“数式を見せたい”ときに便利

    コード

    =FORMULATEXT(A2)
    

    → 数式をテキストとして表示 → WordPress記事にも貼りやすい。

    🔥 数式の比較(どこが違うか一目でわかる)

    A列B列
    =SUM(C2:C10)=SUM(C2:C11)

    コード

    =FORMULATEXT(A2)
    =FORMULATEXT(B2)
    

    → 範囲の違いが一瞬でわかる。

    🔥 INDIRECT と組み合わせて“参照先を動的に”

    コード

    =FORMULATEXT(INDIRECT("A"&B1))
    

    → B1 の値に応じて、表示する数式を切り替えられる。

    🧩 FORMULATEXT × IFERROR(数式がない場合の処理)

    コード

    =IFERROR(FORMULATEXT(A2), "数式なし")
    

    → 数式がないセルでもエラーにならない。

    📊 数式一覧を自動生成(監査に便利)

    コード

    =FORMULATEXT(A2:A20)
    

    → A2〜A20 の数式をまとめて一覧化。

    🛠 よくあるミスと注意点

    1. 数式がないセルはエラーになる

    → IFERROR と併用すると安全

    2. 保護されたシートでは動作しない場合がある

    → 数式が非表示設定だと取得できない

    3. 外部参照の数式はそのまま表示される

    → セキュリティ的に注意

    4. 数式の“結果”ではなく“文字列”を返す

    → 計算には使えない

    📊 FORMULATEXT と SHOW FORMULA(数式表示モード)の違い

    目的FORMULATEXT数式表示モード
    特定セルだけ数式表示×
    全シートの数式表示
    資料作成
    数式の比較

    📝 まとめ:FORMULATEXTは“数式を見える化する最強ツール”

    • セルの数式をそのまま文字列で表示
    • 数式チェック・レビューに最強
    • 資料作成・教育用途で大活躍
    • IFERROR と組み合わせると実務向け
    • 数式一覧の自動生成も可能

    Excelで数式を扱うなら必ず覚えておきたい便利関数です。

  • 【完全版】RANDARRAY関数の使い方|乱数を“好きな形・範囲・個数”で生成できる最強のランダム関数

    ✅ RANDARRAYとは?

    RANDARRAY(ランドアレイ)関数は、 乱数を 指定した行数・列数・最小値・最大値・整数/小数 で自由に生成できる最新関数です。

    • 10件のランダムデータを作る
    • 1〜100の整数をランダム生成
    • 5行×3列の乱数表を作る
    • サンプルデータを一瞬で作成
    • 抽選・ランダム選択の前処理に最強

    従来の RANDRANDBETWEEN より圧倒的に柔軟です。

    🔍 RANDARRAY関数の書式

    コード

    =RANDARRAY([行数], [列数], [最小値], [最大値], [整数にするか])
    

    引数の意味

    • 行数:生成する行の数
    • 列数:生成する列の数
    • 最小値:乱数の下限
    • 最大値:乱数の上限
    • 整数にするか:TRUE → 整数、FALSE → 小数

    📘 基本例:1〜100の乱数を10個生成(最も使う)

    コード

    =RANDARRAY(10, 1, 1, 100, TRUE)
    

    → 1〜100 の整数が10個生成される。

    📘 5行×3列の乱数表を作る

    コード

    =RANDARRAY(5, 3)
    

    → 0〜1 の小数が 5×3 の表で生成。

    🎯 1〜6の整数(サイコロ)を20個生成

    コード

    =RANDARRAY(20, 1, 1, 6, TRUE)
    

    🎯 100〜500の乱数(整数)を5×5で生成

    コード

    =RANDARRAY(5, 5, 100, 500, TRUE)
    

    🔥 ランダムな日付を生成(実務で便利)

    コード

    =RANDARRAY(10, 1, DATE(2024,1,1), DATE(2024,12,31), TRUE)
    

    → 2024年のランダム日付を10個生成。

    🔥 ランダムな社員番号を生成(文字列化)

    コード

    ="EMP"&TEXT(RANDARRAY(10,1,1000,9999,TRUE),"0000")
    

    → EMP1234 のようなIDを10個生成。

    🧩 RANDARRAY × SORTBY(ランダム抽選)

    例:A2:A100 の中からランダムに10件抽出

    コード

    =SORTBY(A2:A100, RANDARRAY(ROWS(A2:A100)), 1)
    

    → ランダム順に並び替え → 上から10件を抽出。

    🧩 RANDARRAY × INDEX(ランダム1件抽出)

    コード

    =INDEX(A2:A100, RANDARRAY(1,1,1,ROWS(A2:A100),TRUE))
    

    → ランダムに1件だけ取得。

    📊 RANDARRAY × UNIQUE(重複なしの乱数)

    コード

    =UNIQUE(RANDARRAY(50,1,1,100,TRUE))
    

    → 重複なしの乱数リストを生成。

    🛠 よくあるミスと注意点

    1. 整数にしたい場合は「TRUE」を忘れない

    → FALSE だと小数になる

    2. 最小値・最大値を逆にしない

    → 逆にするとエラー

    3. 計算のたびに値が変わる

    → 固定したい場合は「値の貼り付け」

    4. RANDARRAY は“配列で返す”

    → 1セルに1つではなく、指定した行列で展開される

    📊 RANDARRAY と RANDBETWEEN の違い

    目的RANDARRAYRANDBETWEEN
    複数の乱数を生成△(1つずつ)
    行数・列数を指定×
    小数の乱数×
    整数の乱数
    サンプルデータ作成

    📝 まとめ:RANDARRAYは“乱数生成の最強ツール”

    • 行数・列数・範囲・整数/小数を自由に指定
    • サンプルデータ作成に最強
    • ランダム抽選・並び替えと相性抜群
    • RANDBETWEEN の完全上位互換
    • 最新Excelで使える配列関数の代表格

    Excelでデータ生成や抽選をするなら必ず覚えておきたい関数です。

  • 【完全版】SORT関数とは?並べ替え・動的リスト・時系列処理を自動化する“最新の神ソート関数”

    🎯 結論:SORTは「並べ替えを自動化する」最新の神関数です

    Excelで仕事をしていると、こんな悩みを抱えたことはありませんか。

    • 「売上表を昇順・降順に並べ替えたい…」
    • 「毎回“並べ替えボタン”を押すのが面倒…」
    • 「データが更新されるたびに並べ替えが崩れる…」
    • 「動的なリストを作りたいのに、手作業だと壊れやすい…」

    私もサラリーマン戦士として Excel と向き合う中で、 “並べ替え作業の手間” に何度も悩まされてきました。

    そんな悩みを一撃で解決してくれるのが SORT(ソート)関数 です。

    SORT は、Excel の中でも比較的新しい関数で、 「昇順・降順」「指定列での並べ替え」「動的リスト」 を たった 1 つの式で自動化できる、まさに“神ソート関数”です。

    この記事では、SORT の基本から応用まで、実務で本当に使えるテクニックをまとめて紹介します。

    1. SORT関数とは?(一言でいうと「並べ替えの自動化」)

    SORT関数は、指定した配列(範囲)を昇順・降順に並べ替える関数です。

    コード

    =SORT(配列, [並べ替え列], [順序], [行/列])
    
    • 配列:並べ替えたい元データ
    • 並べ替え列:何列目で並べ替えるか
    • 順序:1=昇順、-1=降順
    • 行/列:0=行方向、1=列方向

    SORT の最大の魅力は、 データが更新されても自動で並べ替えが維持される という点です。

    2. SORT関数の基本例(まずはここだけ覚えればOKです)

    ■ 売上を昇順に並べ替える(最も使うやつ)

    商品売上
    りんご500
    みかん200
    バナナ300

    コード

    =SORT(A2:B4, 2, 1)

    → 売上(2列目)を昇順に並べ替えます。

    ■ 売上を降順に並べ替える(実務で最も使う)

    コード

    =SORT(A2:B4, 2, -1)

    → 売上の大きい順に並べ替え。

    ■ 名前順(五十音順)に並べ替える

    コード

    =SORT(A2:A100, 1, 1)

    → 名前リストを昇順で並べ替え。

    3. SORTの応用(ここからが本番です)

    SORT は単純な並べ替えだけではありません。 FILTER や UNIQUE と組み合わせることで、動的リスト生成の最強ツールになります。

    ■ SORT × UNIQUE(重複なしの並び替えリスト)

    コード

    =SORT(UNIQUE(A2:A100))

    → 商品名一覧を五十音順に並べ替え。

    プルダウン(データ入力規則)にも使える“綺麗なリスト”が作れます。

    ■ SORT × FILTER(条件付き並べ替え)

    営業部だけの売上を降順で並べ替える:

    コード

    =SORT(FILTER(A2:C100, A2:A100="営業"), 3, -1)

    FILTER → SORT の流れは鉄板です。

    ■ SORT × TAKE(最新データだけ並べ替え)

    直近 7 日間の売上を昇順に並べ替える:

    コード

    =SORT(TAKE(B2:B100, -7), 1, 1)

    最新データだけを対象にしたいときに便利です。

    TAKE関数は参照してください!

    ■ SORT × SCAN(時系列の累積+並べ替え)

    SCAN で累積 → SORT で並べ替え:

    コード

    =SORT(SCAN(0, B2:B100, LAMBDA(a,b,a+b)))

    SCAN の基礎は SCAN関数とは を参照ください。

    4. SORTBYとの違い(ここで理解が一気に深まります)

    SORT と SORTBY は似ていますが、役割が違います。

    目的SORTSORTBY
    複数列で並べ替え
    書き方シンプルやや複雑
    実務用途単純な並べ替え複数条件の並べ替え

    SORT は 1列で並べ替えるときに最強。 複数条件なら SORTBY が最適です。

    5. SORTが実務で強い理由(サラリーマン戦士の本音)

    SORT を使い始めて感じたのは、 「並べ替えがこんなに簡単になるのか…」 という衝撃でした。

    • 昇順・降順の並べ替えが1式で完結
    • データ更新に自動で追従
    • FILTER・UNIQUE と組み合わせると“動的リスト”が作れる
    • 並べ替え操作が不要になる
    • 手作業の並べ替えミスがゼロになる

    従来の Excel の面倒さが嘘のように消えます。

    6. よくあるミスと注意点

    ❗ 並べ替え列の番号を間違える

    配列の中での列番号を指定します。

    ❗ 降順は「-1」

    昇順(1)と間違えやすいので注意。

    ❗ FILTER や UNIQUE と組み合わせるときは配列の形に注意

    行数・列数が合っているか確認。

    ❗ SORT は“1列のみ”が基本

    複数条件なら SORTBY を使う。

    7. SORTの実務的な応用アイデア

    • 売上ランキングの自動生成
    • 部署別の売上を降順で並べ替え
    • 商品名リストを五十音順に整形
    • 最新データだけを抽出して並べ替え
    • FILTER と組み合わせた動的リスト
    • UNIQUE と組み合わせた重複なしリスト
    • SCAN と組み合わせた累積の並べ替え

    SORT は単体でも強力ですが、 他関数と組み合わせることで“動的データ処理の中心”になります。

    8. まとめ:SORTは“並べ替えの最強ツール”です

    • 昇順・降順の並べ替えを1式で自動化
    • データ更新に自動で追従
    • FILTER・UNIQUE と組み合わせると動的リストが作れる
    • SORTBY と使い分けると完璧
    • 最新 Excel の配列関数の代表格

    Excel でデータ整理を効率化したいなら、 SORT関数は必ず覚えておきたい武器です。

  • 【完全版】FREQUENCY関数の使い方|点数分布・売上分布を自動集計できる最強の分布関数

    ✅ FREQUENCYとは?

    FREQUENCY(フリークエンシー)関数は、 データを 指定した範囲(ビン)ごとに分類し、件数を自動集計する 関数です。

    • テストの点数分布(0–10点、11–20点…)
    • 売上の金額帯別集計
    • 年齢分布
    • アンケート結果の分類
    • ヒストグラムの元データ作成

    Excelで“分布表”を作るなら必須の関数です。

    🔍 FREQUENCY関数の書式

    コード

    =FREQUENCY(データ配列, 区間配列)
    

    引数の意味

    • データ配列:分類したい元データ
    • 区間配列(ビン):分類の境界値(上限値)

    📘 基本例:点数を10点刻みで分類

    点数
    12
    35
    48
    59
    77

    区間(ビン)を以下のように設定:

    ビン
    10
    20
    30
    40
    50
    60
    70
    80

    ▶ 使用する式(配列数式)

    コード

    =FREQUENCY(A2:A6, C2:C9)
    

    → 結果(例)

    • 10点以下:0
    • 20点以下:1
    • 30点以下:0
    • 40点以下:1
    • 50点以下:1
    • 60点以下:1
    • 70点以下:0
    • 80点以下:1

    🎯 売上を金額帯で分類(実務で最も使う)

    売上
    1200
    3500
    8000
    15000

    区間(ビン):

    ビン
    1000
    5000
    10000

    ▶ 使用する式

    コード

    =FREQUENCY(A2:A5, C2:C4)
    

    → 結果

    • 1000円以下
    • 5000円以下
    • 10000円以下
    • 10000円超

    の件数が自動で出る。

    🔥 年齢分布を自動集計(アンケートで最強)

    年齢
    22
    35
    41
    58
    63

    区間(ビン):

    ビン
    29
    39
    49
    59

    コード

    =FREQUENCY(A2:A6, C2:C5)
    

    → 20代・30代・40代・50代・60代以上の件数が一瞬。

    🔥 FREQUENCY × CHOOSECOLS で“分布表を整形”

    コード

    =CHOOSECOLS(FREQUENCY(A2:A100, C2:C10), 1)
    

    → 分布結果だけを縦に整形。

    🧩 FREQUENCY × SORT(ビンを自動生成)

    例:データの最小値〜最大値を5区間に分割

    コード

    =FREQUENCY(A2:A100, SEQUENCE(5,1,MIN(A2:A100), (MAX(A2:A100)-MIN(A2:A100))/5))
    

    → 自動で5区間の分布表が作れる。

    📊 FREQUENCY × ヒストグラム(グラフ化)

    1. ビン(区間)を作る
    2. FREQUENCYで件数を出す
    3. 棒グラフを作成

    ヒストグラムが一瞬で完成

    🛠 よくあるミスと注意点

    1. 結果は“ビンの数 + 1”

    → 最後の行は「最大値超」の件数

    2. ビンは“昇順”で並べる

    → 乱れていると正しく分類されない

    3. 配列数式として複数セルに展開される

    → 1セルだけに結果は入らない

    4. ビンは“上限値”である

    例:ビンが 50 → 「50以下」の件数

    📊 FREQUENCY と COUNTIFS の違い

    目的FREQUENCYCOUNTIFS
    分布表を作る◎ 最強△ 手間が多い
    条件を細かく指定
    ヒストグラム作成
    1つの式で複数区間×

    📝 まとめ:FREQUENCYは“分布表作成の最強ツール”

    • 点数・売上・年齢などを区間ごとに分類
    • ビン(区間)を作るだけで自動集計
    • ヒストグラムの元データに最適
    • COUNTIFSより圧倒的に効率的
    • アンケート・分析・レポートで大活躍

    Excelで分布表を作るなら必ず覚えておきたい関数です。

  • 【完全版】REPLACE関数の使い方|文字列の一部を“位置指定で”置き換える実務向け関数

    ✅ REPLACEとは?

    REPLACE(リプレイス)関数は、 文字列の 指定した位置から、指定した文字数だけ置き換える 関数です。

    • 3文字目から2文字を「XX」に置換
    • 電話番号の一部をマスク(***)
    • 商品コードの一部だけ変更
    • IDの先頭・末尾だけ差し替え
    • 固定フォーマットの文字列編集に最強

    SUBSTITUTE が「文字そのものを置換」なのに対し、 REPLACE は “位置で置換” するのが最大の特徴です。

    🔍 REPLACE関数の書式

    コード

    =REPLACE(文字列, 開始位置, 置換する文字数, 置換後の文字列)
    

    引数の意味

    • 文字列:対象となる文字列
    • 開始位置:何文字目から置き換えるか
    • 置換する文字数:何文字分を置き換えるか
    • 置換後の文字列:置き換え後の文字

    📘 基本例:3文字目から2文字を「XX」に置換

    A列
    ABCDE

    コード

    =REPLACE(A2, 3, 2, "XX")
    

    ABXXE

    🎯 電話番号の一部をマスク(実務でよく使う)

    A列
    09012345678

    コード

    =REPLACE(A2, 4, 4, "****")
    

    090****5678

    🎯 商品コードの一部だけ変更

    A列
    ABC-123-XYZ

    コード

    =REPLACE(A2, 5, 3, "999")
    

    ABC-999-XYZ

    🔥 末尾3文字だけ置き換える(LENと組み合わせ)

    コード

    =REPLACE(A2, LEN(A2)-2, 3, "***")
    

    末尾3文字をマスク

    🔥 先頭1文字だけ置き換える

    コード

    =REPLACE(A2, 1, 1, "*")
    

    先頭をマスク

    🧩 REPLACE × SUBSTITUTE の違いを活かす

    例:文字そのものを置換したい → SUBSTITUTE

    コード

    =SUBSTITUTE(A2, "-", "")
    

    例:位置で置換したい → REPLACE

    コード

    =REPLACE(A2, 4, 1, "/")
    

    📅 日付文字列のフォーマット変更(位置指定)

    A列
    20260425

    コード

    =REPLACE(REPLACE(A2, 5, 0, "/"), 8, 0, "/")
    

    2026/04/25

    📊 IDの一部を差し替える(固定フォーマットに最強)

    A列
    ID-2026-001

    コード

    =REPLACE(A2, 4, 4, "2027")
    

    ID-2027-001

    🛠 よくあるミスと注意点

    1. 位置は「1文字目=1」

    → 0スタートではない

    2. 置換する文字数を間違えるとズレる

    → 文字数は正確に指定

    3. SUBSTITUTE と混同しない

    • REPLACE:位置で置換
    • SUBSTITUTE:文字そのものを置換

    4. 文字列の長さが変わると結果も変わる

    → LEN と組み合わせると安定する

    📊 REPLACE と SUBSTITUTE の違い(実務で重要)

    目的REPLACESUBSTITUTE
    位置で置換×
    特定の文字を置換
    一部だけ置換◎(位置指定)◎(番号指定)
    全部置換
    商品コードの部分変更

    📝 まとめ:REPLACEは“位置指定の置換”に最強

    • 指定した位置から指定した文字数を置換
    • マスク処理・商品コード編集に最強
    • LEN と組み合わせると柔軟
    • SUBSTITUTE と使い分けると完璧
    • 実務での文字列整形に欠かせない関数

    Excelで文字列処理を極めるなら必ず覚えておきたい関数です。

  • 【完全版】REDUCE関数とは?“最終結果だけ欲しい”サラリーマンのための最新集計関数を徹底解説

    🎯 結論:REDUCEは「累積処理の最終結果だけ欲しいとき」に使う“実務向けの神関数”です

    Excelで仕事をしていると、こんなことを思ったことはありませんか。

    • 「売上の累計が欲しいけど、途中経過はいらない…」
    • 「在庫の最終残量だけ知りたい…」
    • 「点数の合計だけ出したい…」
    • 「SCAN は便利だけど、全部返されても困るときがある…」

    私もサラリーマン戦士として Excel と毎日向き合ってきましたが、 「最終結果だけ欲しい集計」 って意外と多いんですよね。

    そんなときに圧倒的に便利なのが REDUCE(リデュース)関数 です。

    SCAN が「途中経過を全部返す」のに対し、 REDUCE は 最終結果だけ返す。 この違いが、実務ではとんでもなく大きいのです。

    1. REDUCE関数とは?(一言でいうと「最終結果だけ返す累積処理」)

    REDUCE は、配列(範囲)を先頭から順に処理し、 最後に 1 つの結果だけ返す関数です。

    コード

    =REDUCE(初期値, 配列, LAMBDA(累積値, 現在値, 計算式))
    
    • 初期値:累積のスタート値(0 が多い)
    • 配列:処理したい範囲
    • LAMBDA:累積処理の内容
      • 第1引数:累積値(前回の結果)
      • 第2引数:現在値(今回の値)

    SCAN の兄弟関数で、 SCAN=途中経過を全部返す REDUCE=最終結果だけ返す という違いがあります。

    SCAN の基礎は SCAN関数とは を参照ください。

    2. REDUCEの基本例(まずはここだけ覚えればOKです)

    ■ 売上の合計(最終値だけ欲しい)

    日付売上
    1日10
    2日20
    3日30

    コード

    =REDUCE(0, B2:B4, LAMBDA(a, b, a + b))
    

    60

    SCAN なら「10|30|60」と途中経過を返しますが、 REDUCE は 最終結果の 60 だけ返します。

    ■ 在庫の最終残量(入出庫管理)

    日付入庫(+)/出庫(-)
    1日+10
    2日-3
    3日+5

    コード

    =REDUCE(0, B2:B4, LAMBDA(a, b, a + b))
    

    12

    サラリーマンの現場では、 「最終残量だけ知りたい」 という場面が本当に多いです。

    3. REDUCEの応用(ここからが本番です)

    REDUCE は足し算だけではありません。 LAMBDA の中身を変えるだけで、ほぼ何でも最終結果にまとめられます

    ■ 文字列を連結して1つにまとめる

    A列 A B C

    コード

    =REDUCE("", A2:A4, LAMBDA(a, b, a & b))
    

    ABC

    SCAN だと途中経過が返って邪魔ですが、 REDUCE なら最終結果だけ返るのでスッキリ。

    ■ REDUCE × TEXTSPLIT(分割した要素をまとめる)

    コード

    =REDUCE("", TEXTSPLIT(A2, "-"), LAMBDA(a,b, a & "[" & b & "]"))
    

    「A-123-XYZ」 → [A][123][XYZ]

    TEXTSPLIT の基礎は TEXTSPLIT関数とは を参照ください。

    ■ REDUCE × FILTER(条件付き集計)

    営業部だけの売上合計:

    コード

    =REDUCE(0, FILTER(B2:B100, A2:A100="営業"), LAMBDA(a,b, a+b))
    

    FILTER → REDUCE の流れは鉄板です。

    FILTERの基礎は FILTER関数とは を参照ください。

    ■ REDUCE × TAKE(最新◯件だけ集計)

    直近7日間の売上合計:

    コード

    =REDUCE(0, TAKE(B2:B100, -7), LAMBDA(a,b, a+b))
    

    最新データだけを対象にしたいときに便利です。

    TAKEの基礎は TAKE関数とは を参照ください。

    ■ REDUCE × SORT(日付順に並べて最終値だけ取得)

    コード

    =REDUCE(0, SORT(B2:C100, 1, 1), LAMBDA(a,b, a + b))
    

    SORT の基礎は SORT関数とは を参照ください。

    4. サラリーマン視点で感じたREDUCEの強み

    私が実務で REDUCE を使い始めて感じたのは、 「最終結果だけ欲しい集計が圧倒的に楽になる」 ということです。

    特に次のような場面で威力を発揮します。

    ✔ 売上の最終累計だけ欲しいとき

    SCAN だと途中経過が邪魔。 REDUCE なら最終値だけ返るので資料作成が楽。

    ✔ 在庫の最終残量を出したいとき

    入庫・出庫の履歴を全部追わなくても、 REDUCE で一発。

    ✔ 条件付き集計をしたいとき

    FILTER と組み合わせると、 「営業部だけ」「直近7日だけ」などが一瞬。

    ✔ 文字列の連結が必要なとき

    TEXTSPLIT と組み合わせると、 複雑な文字列加工が自動化。

    SCAN と REDUCE を使い分けることで、 「途中経過が欲しいとき」「最終結果だけ欲しいとき」 を完全にコントロールできます。

    5. よくあるミスと注意点

    ❗ LAMBDA の引数は「累積値 → 現在値」の順

    コード

    LAMBDA(a, b, a + b)
    

    順番を逆にすると意図した結果になりません。

    ❗ 初期値を忘れるとエラー

    累積なら 0 を入れるのが基本です。

    ❗ SCAN と違い、途中経過は返さない

    途中の値が欲しいなら SCAN を使います。

    ❗ FILTER と併用すると配列サイズが変わる

    結果の長さが変わるため、参照先に注意。

    6. REDUCE と SCAN の違い(ここで理解が一気に深まります)

    目的SCANREDUCE
    累積結果を全部返す×
    最終結果だけ返す
    時系列の推移
    集計の最終値

    SCAN:途中経過を全部返す REDUCE:最終結果だけ返す

    この違いだけ覚えれば完璧です。

    7. まとめ:REDUCEは“最終結果だけ欲しいときの最強ツール”

    • 配列を順に処理して最終値だけ返す
    • 売上・在庫・進捗などの集計に最適
    • FILTER・SORT と組み合わせると強力
    • SCAN と使い分けると完璧
    • 最新 Excel の配列関数の代表格

    Excel で時系列データや集計を扱うなら、 REDUCE関数は必ず覚えておきたい関数です。

  • 【完全版SCAN関数とは?累積・時系列処理・進捗管理が一瞬でできる“最新の神関数”

    🎯 結論:SCANは「累積処理を1式で自動化する」最新の神関数です

    Excelで仕事をしていると、こんなことを思ったことはありませんか。

    • 「売上の累積を自動で出したい…」
    • 「在庫の増減を1式で管理したい…」
    • 「進捗率の推移をキレイに出したい…」
    • 「SUMのコピー地獄から解放されたい…」

    私もサラリーマン戦士として Excel と毎日向き合ってきましたが、累積処理は本当に面倒です。 行ごとに式をコピーして、$マークを付けて、SUM の範囲を調整して… 気づけば “壊れやすい集計表” が完成してしまう。

    そんな悩みを一撃で解決してくれるのが SCAN(スキャン)関数 です。

    SCAN は Excel の中でもかなり新しい関数で、 「累積処理」「時系列処理」「途中経過の出力」 が たった 1 つの式で完結する、まさに“神関数”です。

    この記事では、SCAN の基本から応用まで、実務で本当に使えるテクニックをまとめて紹介します。

    1. SCAN関数とは?(一言でいうと「累積の自動化」)

    SCAN関数は、配列(範囲)を先頭から順番に処理し、途中経過をすべて返す関数です。

    コード

    =SCAN(初期値, 配列, LAMBDA(累積値, 現在値, 計算式))
    
    • 初期値:累積のスタート(0 が多い)
    • 配列:処理したい範囲
    • LAMBDA:累積処理の内容
      • 第1引数:累積値(前回の結果)
      • 第2引数:現在値(今回の値)

    SCAN のすごいところは、 「前の結果を使って次を計算する」 という、従来の Excel では面倒だった処理が一瞬でできる点です。

    LAMBDA の基礎は LAMBDA関数とは を参照ください。

    2. SCAN関数の基本例(まずはこれだけ覚えればOKです)

    ■ 売上の累積(最も使うやつ)

    日付売上
    1日10
    2日20
    3日30

    コード

    =SCAN(0, B2:B4, LAMBDA(a, b, a + b))
    

    10|30|60

    従来の =SUM($B$2:B2) は不要。コピーも不要。壊れません。

    ■ 進捗率の累積

    コード

    =SCAN(0, B2:B4, LAMBDA(a, b, a + b))
    

    20%|50%|60%

    プロジェクト管理で最強です。

    ■ 在庫の増減(入出庫管理)

    コード

    =SCAN(0, B2:B4, LAMBDA(a, b, a + b))
    

    10|7|12

    入庫・出庫の累積が自動で追えます。

    3. SCANの応用(ここからが本番です)

    SCAN は足し算だけではありません。 LAMBDA の中身を変えるだけで、ほぼ何でも累積できます

    ■ 文字列の累積(コメント生成)

    コード

    =SCAN("", A2:A5, LAMBDA(a, b, a & " → " & b))
    

    A → B → C → D

    資料説明文の自動生成にも使えます。

    ■ 累積の最大値(最高記録の推移)

    コード

    =SCAN(-999, B2:B10, LAMBDA(a, b, MAX(a, b)))
    

    → その時点での最高値を常に表示。

    ■ TRUE が出たらずっと TRUE(フラグ保持)

    コード

    =SCAN(FALSE, B2:B10, LAMBDA(a, b, a OR b))
    

    チェック項目の管理に最適です。

    ■ 行番号の自動生成(ROW不要)

    コード

    =SCAN(0, A2:A10, LAMBDA(a, b, a + 1))
    

    1,2,3,4… と自動で番号付け。

    4. SCAN × 他関数の組み合わせ(実務で最強)

    ■ SCAN × FILTER(条件付き累積)

    営業部だけの累積売上:

    コード

    =SCAN(0, FILTER(B2:B100, A2:A100="営業"), LAMBDA(a, b, a + b))
    

    FILTER → SCAN の流れは鉄板です。

    FILTER関数を参照

    ■ SCAN × TAKE(最新◯件の累積)

    直近7日間の累積:

    コード

    =SCAN(0, TAKE(B2:B100, -7), LAMBDA(a, b, a + b))
    

    最新データだけを対象にしたいときに便利です。

    ■ SCAN × SORT(日付順に並べて累積)

    コード

    =SCAN(0, SORT(B2:C100, 1, 1), LAMBDA(a, b, a + b))
    

    日付順に並べ替えてから累積できます。

    5. SCANとREDUCEの違い(ここで理解が一気に深まります)

    目的SCANREDUCE
    累積結果を全部返す×
    最終結果だけ返す
    時系列の推移
    集計の最終値

    SCAN:全部返す REDUCE:最後だけ返す

    この違いだけ覚えれば完璧です。

    6. SCANが実務で強い理由(サラリーマン戦士の本音)

    SCAN を使い始めて感じたのは、 「累積処理がこんなに簡単になるのか…」 という衝撃でした。

    • 売上の累積が1式で作れる
    • 在庫の増減が自動で追える
    • 進捗率の推移が一瞬で出せる
    • FILTER と組み合わせると“動的累積”が作れる
    • 式をコピーしないから壊れない
    • 時系列処理が圧倒的に楽になる

    従来の Excel の面倒さが嘘のように消えます。

    7. よくあるミスと注意点

    ❗ LAMBDA の引数の順番を間違える

    正しくは LAMBDA(累積値, 現在値, 計算式)

    ❗ 初期値を忘れる

    累積なら 0 が基本です。

    ❗ FILTER後の配列はサイズが変わる

    結果の長さが変わるので参照先に注意。

    ❗ SCANは“全部返す”

    最終値だけ欲しいなら REDUCE

    8. まとめ:SCANは“累積処理の最強ツール”です

    • 累積計算を1式で実現
    • 売上・進捗・在庫など時系列に最強
    • FILTER・SORTと組み合わせるとさらに強力
    • REDUCE と使い分けると完璧
    • 最新 Excel の配列関数の代表格

    Excel で時系列データを扱うなら、 SCAN関数は絶対に覚えておきたい武器です。