• 【完全版】SEARCH関数とは?大文字小文字を区別せず“曖昧検索”できる文字列処理の万能関数を実務目線で徹底解説

    サラリーマン戦士が語る、FIND・TEXTSPLIT・SUBSTITUTEと組み合わせて最強化する検索テクニック

    Excelで文字列処理をしていると、 「特定の文字が含まれているか調べたい」 「大文字・小文字を区別せず検索したい」 「部分一致で検索したい」 「ワイルドカードを使って柔軟に検索したい」 といった場面が必ずあります。

    そんな“曖昧検索”を自由自在に扱えるのが SEARCH(サーチ)関数 です。

    SEARCHは、 指定した文字列が何文字目にあるかを返す検索関数 で、 FINDと違い 大文字小文字を区別しない、 さらに ワイルドカード( ?)が使える* のが最大の強みです。

    この記事では、SEARCHの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。

    🔍 SEARCH関数 の書式

    コード

    =SEARCH(検索文字列, 対象文字列, [開始位置])
    

    ✔ 引数の意味

    • 検索文字列:探したい文字列(ワイルドカード可)
    • 対象文字列:検索対象
    • 開始位置(任意):検索を始める位置(デフォルトは1)

    📘 基本例:文字列の位置を取得(大文字小文字を区別しない)

    A2

    コード

    Excel関数
    

    ▶ 使用する式

    コード

    =SEARCH("excel", A2)
    

    1 を返します(大文字小文字を区別しないため)。

    📘 FINDとの違い(大文字小文字の扱い)

    A2

    コード

    Excel
    

    コード

    =FIND("excel", A2)   → エラー
    =SEARCH("excel", A2) → 1
    

    → SEARCHは曖昧検索に強いです。

    FINDについては FIND関数 を参照ください。

    🎯 ワイルドカード検索(SEARCHの真骨頂)

    SEARCHは ワイルドカードが使える ため、 部分一致・曖昧検索に最強です。

    ■ 「りん」で始まる文字列を検索

    コード

    =SEARCH("りん*", A2)
    

    → 「りんご」「りんごジュース」などに一致。

    ■ 任意の1文字を含む検索(?)

    コード

    =SEARCH("A?C", A2)
    

    → 「ABC」「A1C」「A-C」などに一致。

    🔥 部分一致で“含まれているか”判定(ISNUMBERと組み合わせ)

    コード

    =ISNUMBER(SEARCH("営業", A2))
    

    → TRUE / FALSE で判定できます。

    🔥 FILTER × SEARCH で“曖昧検索フィルター”

    例:商品名に「りん」が含まれるものだけ抽出

    コード

    =FILTER(A2:C100, ISNUMBER(SEARCH("りん", A2:A100)))
    

    FILTERについては FILTER関数 を参照ください。

    🧩 SEARCH × SUBSTITUTE で“n番目の区切り位置”を取得

    例:3つ目のハイフンの位置を取得

    コード

    =SEARCH("@", SUBSTITUTE(A2, "-", "@", 3))
    

    → 3つ目のハイフンが「@」に置換されるため、その位置を取得できます。

    SUBSTITUTEについては SUBSTITUTE関数 を参照ください。

    📅 日付文字列から「月」の位置を取得

    A2

    コード

    2026/04/25
    

    ▶ 使用する式

    コード

    =SEARCH("/", A2)
    

    → 最初の「/」の位置(5)を返します。

    📊 商品コードのカテゴリ抽出(SEARCH × LEFT)

    A2

    コード

    ABC-123-RED
    

    ▶ カテゴリ部分を抽出

    コード

    =LEFT(A2, SEARCH("-", A2)-1)
    

    ABC を取得できます。

    🔥 TEXTSPLITと組み合わせて柔軟な分割

    SEARCHで区切り位置を確認しつつ、 TEXTSPLITで一気に分割することもできます。

    コード

    =TEXTSPLIT(A2, "-")
    

    TEXTSPLITについては TEXTSPLIT関数 を参照ください。

    🧠 SEARCHの強み(実務で感じたメリット)

    ✔ 大文字小文字を区別しない

    「Excel」「EXCEL」「excel」すべて一致します。

    ✔ ワイルドカードが使える

    部分一致・曖昧検索に最強です。

    ✔ FINDより柔軟

    FINDは正確、SEARCHは柔軟。 用途に応じて使い分けると最強です。

    ✔ FILTERとの相性が抜群

    曖昧検索フィルターが簡単に作れます。

    🛠 SEARCHの注意点(初心者がつまずきやすいポイント)

    ❗ 1. 見つからない場合はエラー(#VALUE!)

    IFERRORで包むと安全です。

    コード

    =IFERROR(SEARCH("営業", A2), "")
    

    ❗ 2. ワイルドカードを使うときは文字列扱い

    「*」「?」は文字列として扱います。

    ❗ 3. 全角・半角の違いに注意

    「-」と「-」は別文字です。

    📊 SEARCH と FIND の違い(比較表)

    項目SEARCHFIND
    大文字小文字の区別しないする
    ワイルドカード×
    曖昧検索
    正確な検索
    実務向き柔軟正確

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    SEARCHを使い始めて感じたのは、 「曖昧検索がとにかく楽になる」 ということです。

    特に、

    • 商品名の部分一致検索
    • 氏名の曖昧検索
    • メールアドレスの判定
    • FILTERとの組み合わせ
    • ワイルドカード検索

    これらが 1つの関数で完結 するのは革命的です。

    FINDが“正確な検索”なら、 SEARCHは“柔軟な検索”。

    この2つを使い分けることで、 文字列処理の幅が一気に広がります。

    🧩 SEARCHの実務的な応用アイデア

    • 商品名の部分一致検索
    • 氏名の曖昧検索
    • メールアドレスの形式チェック
    • URLの特定部分を検索
    • FILTERと組み合わせて曖昧検索フィルター
    • SUBSTITUTEと組み合わせてn番目の区切りを検索

    特に、 「SEARCH → FILTER → TEXTAFTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

    📝 まとめ:SEARCHは“曖昧検索の最強ツール”

    • 大文字小文字を区別しない柔軟な検索が可能
    • ワイルドカード(* ?)に対応
    • FINDより柔軟で、部分一致に最強
    • FILTER・SUBSTITUTEとの相性が抜群
    • 商品名・氏名・メールアドレスなどに最適

    Excelで文字列検索を効率化したいなら、 SEARCH関数は必ず覚えておきたい基礎関数です。

  • 【完全版】SUBSTITUTE関数とは?文字列の置換・加工を自在に操る“文字列処理の基礎にして最強”の関数を実務目線で徹底解説

    サラリーマン戦士が語る、TEXTSPLIT・TEXTAFTER・FINDと組み合わせて最強化する文字列処理テクニック

    Excelで文字列処理をしていると、 「特定の文字を別の文字に置き換えたい」 「ハイフンを削除したい」 「3つ目のハイフンだけ置換したい」 「特定の文字を取り除いて整形したい」 といった場面が必ずあります。

    そんな“文字列の置換”を自由自在に扱えるのが SUBSTITUTE(サブスティテュート)関数 です。

    SUBSTITUTEは、 指定した文字列を別の文字に置き換える最強の文字列加工関数 で、 TEXTSPLIT・TEXTAFTER・FIND などと組み合わせることで、 文字列処理の自由度が一気に上がります。

    この記事では、SUBSTITUTEの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。

    🔍 SUBSTITUTE関数 の書式

    コード

    =SUBSTITUTE(文字列, 置換前, 置換後, [対象番号])
    

    ✔ 引数の意味

    • 文字列:対象となる文字列
    • 置換前:置き換えたい文字
    • 置換後:置き換える文字
    • 対象番号(任意):何番目の置換前を置き換えるか(省略するとすべて)

    📘 基本例:ハイフンを削除(空文字に置換)

    A2

    コード

    ABC-123-XYZ
    

    ▶ 使用する式

    コード

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

    ABC123XYZ に変換されます。

    📘 カンマをスラッシュに置換

    コード

    =SUBSTITUTE(A2, ",", "/")
    

    → CSVデータの整形に便利です。

    🎯 3つ目のハイフンだけ置換(対象番号を指定)

    コード

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

    → 3つ目のハイフンだけ「@」に置換されます。

    複数区切りの位置を特定する際に最強です。

    🔥 FIND × SUBSTITUTE で“n番目の区切り位置”を取得

    例:3つ目のハイフンの位置を取得

    コード

    =FIND("@", SUBSTITUTE(A2, "-", "@", 3))
    

    → 3つ目のハイフンが「@」に置換されるため、その位置を取得できます。

    FINDについては FIND関数 を参照ください。

    🔥 TEXTSPLIT と組み合わせて柔軟な分割

    例:複数区切りを統一してから分割

    コード

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

    → 「A-123/XYZ」でも正しく分割できます。

    TEXTSPLITについては TEXTSPLIT関数 を参照ください。

    🧩 TEXTAFTER / TEXTBEFORE と組み合わせる

    SUBSTITUTEで区切り文字を統一してから TEXTAFTER / TEXTBEFORE を使うと、 複雑な文字列でも安定して抽出できます。

    TEXTAFTERについては TEXTAFTER関数 TEXTBEFOREについては TEXTBEFORE関数 を参照ください。

    📅 日付文字列の整形(スラッシュ → ハイフン)

    A2

    コード

    2026/04/25
    

    ▶ 使用する式

    コード

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

    2026-04-25 に変換できます。

    📊 商品コードの整形(不要な文字を削除)

    A2

    コード

    ABC-123-RED
    

    ▶ ハイフンを削除

    コード

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

    → ABC123RED

    ▶ カテゴリ部分だけ抽出(SUBSTITUTE × TEXTBEFORE)

    コード

    =TEXTBEFORE(A2, "-")
    

    ▶ 番号部分だけ抽出(SUBSTITUTE × FIND)

    コード

    =MID(A2,
         FIND("-", A2)+1,
         FIND("-", A2, FIND("-", A2)+1) - FIND("-", A2) - 1)
    

    SUBSTITUTEで区切りを統一しておくと、 このような抽出が安定します。

    🧠 SUBSTITUTEの強み(実務で感じたメリット)

    ✔ 文字列の置換が自由自在

    複数の区切り文字を統一したり、 不要な文字を削除したりできます。

    ✔ FIND・TEXTSPLITとの相性が最強

    区切り文字を統一することで、 後続の処理が安定します。

    ✔ 対象番号を指定できる

    「3つ目だけ置換」など、 従来の関数では難しかった処理が簡単にできます。

    ✔ データ整形の前処理として最強

    商品コード、CSV、氏名、日付など、 あらゆる文字列処理の“下準備”に使えます。

    🛠 SUBSTITUTEの注意点(初心者がつまずきやすいポイント)

    ❗ 1. 完全一致で置換される

    半角/全角の違いに注意します。

    ❗ 2. 対象番号を指定しないと“すべて置換”

    1つだけ置換したい場合は対象番号を指定します。

    ❗ 3. 見つからない場合は元の文字列のまま

    IFERRORは不要ですが、 置換されないことに注意します。

    ❗ 4. 正規表現は使えない

    複雑なパターン置換はできません。

    📊 SUBSTITUTE と REPLACE の違い

    目的SUBSTITUTEREPLACE
    文字列の置換△(位置指定)
    特定の位置を置換
    複数置換
    n番目の置換×

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    SUBSTITUTEを使い始めて感じたのは、 「文字列処理の前処理が圧倒的に楽になる」 ということです。

    特に、

    • 区切り文字の統一
    • 不要な文字の削除
    • n番目の区切りの特定
    • TEXTSPLITとの組み合わせ
    • FINDとの連携で位置取得

    これらが 1つの関数で完結 するのは革命的です。

    文字列処理の“土台”として、 SUBSTITUTEは欠かせない存在になりました。

    🧩 SUBSTITUTEの実務的な応用アイデア

    • 商品コードの整形(ハイフン削除・統一)
    • CSVデータの区切り文字を統一
    • 氏名のスペースを削除
    • URLの不要なパラメータを削除
    • TEXTSPLITと組み合わせて柔軟な分割
    • FINDと組み合わせてn番目の区切りを検索

    特に、 「SUBSTITUTE → TEXTSPLIT → FILTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

    📝 まとめ:SUBSTITUTEは“文字列整形の基礎にして最強の置換関数”

    • 文字列の置換・削除が自由自在
    • n番目の置換が可能
    • TEXTSPLIT・TEXTAFTER・FINDと組み合わせると最強
    • 商品コード・氏名・日付・CSVなどに最適
    • 文字列処理の前処理として圧倒的に便利

    Excelで文字列処理を効率化したいなら、 SUBSTITUTE関数は必ず覚えておきたい基礎関数です。

  • 【完全版】TEXTBEFORE関数とは?区切り文字の“前側”を一瞬で取得できる最新の文字列抽出関数を実務目線で徹底解説

    サラリーマン戦士が語る、TEXTAFTER・TEXTSPLITと組み合わせて最強化する文字列処理テクニック

    Excelで文字列処理をしていると、 「ハイフンの前だけ取りたい」 「メールアドレスの @ の前を取りたい」 「商品コードのカテゴリ部分だけ抽出したい」 「複数区切りの“最初の要素”を取りたい」 といった場面が必ずあります。

    従来は LEFT / FIND / MID を組み合わせて、 複雑な式を書かなければなりませんでした。

    しかし、最新Excelで登場した TEXTBEFORE(テキストビフォア)関数 が、 この悩みをすべて解決してくれます。

    TEXTBEFOREは、 指定した区切り文字の“前側”を一瞬で抽出できる最新関数 で、 文字列処理の手間を劇的に減らす“革命的な関数”です。

    この記事では、TEXTBEFOREの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。

    🔍 TEXTBEFORE関数 の書式

    コード

    =TEXTBEFORE(文字列, 区切り文字, [出現番号], [空白無視], [一致モード], [先頭一致], [パディング])
    

    ✔ 引数の意味

    • 文字列:対象となる文字列
    • 区切り文字:基準となる区切り
    • 出現番号(任意):何番目の区切りを使うか(-1で最後)
    • 空白無視(任意):TRUEで余分な空白を無視
    • 一致モード(任意):大文字小文字の区別など
    • 先頭一致(任意):先頭から検索するか
    • パディング(任意):不足セルに入れる値

    📘 基本例:ハイフンの“前側”を取得

    A2

    コード

    ABC-123-XYZ
    

    ▶ 使用する式

    コード

    =TEXTBEFORE(A2, "-")
    

    ABC を返します。

    📘 最後の区切りの“前側”を取得(出現番号 -1)

    コード

    =TEXTBEFORE(A2, "-", -1)
    

    ABC-123 を返します。

    複数区切りがある文字列で非常に便利です。

    🎯 メールアドレスのユーザー名部分を取得

    A2

    コード

    taro.yamada@example.com
    

    ▶ 使用する式

    コード

    =TEXTBEFORE(A2, "@")
    

    taro.yamada を取得できます。

    🔥 スペース区切りの氏名から「姓」だけ取得

    A2

    コード

    山田 太郎
    

    ▶ 使用する式

    コード

    =TEXTBEFORE(A2, " ")
    

    山田 を返します。

    🔥 複数区切り文字に対応(TEXTSPLITとの違い)

    例:「A-123/XYZ」から最初の要素を取得

    コード

    =TEXTBEFORE(A2, {"/","-"})
    

    A を返します。

    複数区切りに対応できるのはTEXTBEFOREの強みです。

    🧩 TEXTAFTER と組み合わせる(相性最強)

    TEXTBEFOREは、TEXTAFTERと組み合わせることで “前後の抽出”が自由自在になります。

    TEXTAFTERについては TEXTAFTER関数 を参照ください。

    ■ 最初の要素だけ取得(TEXTBEFORE)

    コード

    =TEXTBEFORE(A2, "-")
    

    → ABC

    ■ 最後の要素だけ取得(TEXTAFTER)

    コード

    =TEXTAFTER(A2, "-", -1)
    

    → XYZ

    📅 日付文字列から「年」だけ取得

    A2

    コード

    2026/04/25
    

    ▶ 使用する式

    コード

    =TEXTBEFORE(A2, "/")
    

    2026 を返します。

    📊 商品コードを分割して管理項目に

    A2

    コード

    ABC-123-RED
    

    ▶ カテゴリ(最初の要素)

    コード

    =TEXTBEFORE(A2, "-")
    

    → ABC

    ▶ 番号(2番目の要素)

    コード

    =TEXTBEFORE(TEXTAFTER(A2, "-"), "-")
    

    → 123

    ▶ 色(最後の要素)

    コード

    =TEXTAFTER(A2, "-", -1)
    

    → RED

    🧠 TEXTBEFORE × FILTER で“必要な部分だけ抽出”

    例:商品コードのカテゴリが「ABC」のものだけ抽出

    コード

    =FILTER(A2:A100, TEXTBEFORE(A2:A100, "-")="ABC")
    

    FILTERについては FILTER関数 を参照ください。

    🛠 よくあるミスと注意点

    ❗ 1. 区切り文字は“完全一致”で判定

    半角/全角の違いに注意します。

    ❗ 2. 出現番号を指定しないと最初の区切りが使われる

    最後の要素の前を取りたいときは -1 を使います。

    ❗ 3. 見つからない場合はエラー

    IFERRORで包むと安全です。

    コード

    =IFERROR(TEXTBEFORE(A2, "-"), "")
    

    ❗ 4. TEXTSPLITとは役割が違う

    • TEXTBEFORE → “前側”を取る
    • TEXTAFTER → “後ろ側”を取る
    • TEXTSPLIT → “全部”を分割する

    📊 TEXTBEFORE と TEXTSPLIT の違い

    目的TEXTBEFORETEXTSPLIT
    区切りの前を取得
    最初の要素を取得
    全要素を分割
    複数区切り

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    TEXTBEFOREを使い始めて感じたのは、 「文字列処理の自由度が一気に上がる」 ということです。

    特に、

    • 商品コードのカテゴリ抽出
    • 氏名の姓部分の抽出
    • メールアドレスのユーザー名取得
    • 最初の要素だけ取りたい場面
    • TEXTAFTERと組み合わせた柔軟な整形

    これらが 1つの関数で完結 するのは革命的です。

    従来の LEFT / FIND を組み合わせていた頃には戻れません。

    🧩 TEXTBEFOREの実務的な応用アイデア

    • 商品コードのカテゴリを抽出
    • 氏名の姓部分を抽出
    • メールアドレスのユーザー名を取得
    • URLのドメイン前部分を取得
    • TEXTAFTERと組み合わせて柔軟な分割
    • FILTERと組み合わせて条件抽出

    特に、 「TEXTBEFORE → TEXTAFTER → FILTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

    📝 まとめ:TEXTBEFOREは“前側抽出の最強ツール”

    • 区切り文字の前側を一瞬で取得できます
    • 最初の要素を取るのに最強
    • TEXTAFTER / TEXTSPLIT と組み合わせると最強
    • 商品コード・氏名・メールアドレスなどに最適
    • 従来の文字列処理を圧倒的に効率化できます

    Excelで文字列処理を効率化したいなら、 TEXTBEFORE関数は必ず覚えておきたい最新関数です。

  • 【完全版】TEXTAFTER関数とは?区切り文字の“後ろ側”を一瞬で取得できる最新の文字列抽出関数を実務目線で徹底解説

    サラリーマン戦士が語る、TEXTSPLIT・TEXTBEFOREと組み合わせて最強化する文字列処理テクニック

    Excelで文字列処理をしていると、 「ハイフンの後ろだけ取りたい」 「メールアドレスの @ の後ろを取りたい」 「商品コードの末尾だけ抽出したい」 「複数区切りの“最後の要素”を取りたい」 といった場面が必ずあります。

    従来は FIND / MID / RIGHT を組み合わせて、 複雑な式を書かなければなりませんでした。

    しかし、最新Excelで登場した TEXTAFTER(テキストアフター)関数 が、 この悩みをすべて解決してくれます。

    TEXTAFTERは、 指定した区切り文字の“後ろ側”を一瞬で抽出できる最新関数 で、 文字列処理の手間を劇的に減らす“革命的な関数”です。

    この記事では、TEXTAFTERの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 3000字級で徹底解説します。

    🔍 TEXTAFTER関数 の書式

    コード

    =TEXTAFTER(文字列, 区切り文字, [出現番号], [空白無視], [一致モード], [先頭一致], [パディング])
    

    ✔ 引数の意味

    • 文字列:対象となる文字列
    • 区切り文字:基準となる区切り
    • 出現番号(任意):何番目の区切りを使うか(-1で最後)
    • 空白無視(任意):TRUEで余分な空白を無視
    • 一致モード(任意):大文字小文字の区別など
    • 先頭一致(任意):先頭から検索するか
    • パディング(任意):不足セルに入れる値

    📘 基本例:ハイフンの“後ろ側”を取得

    A2

    コード

    ABC-123-XYZ
    

    ▶ 使用する式

    コード

    =TEXTAFTER(A2, "-")
    

    123-XYZ を返します。

    📘 最後の要素だけ取得(出現番号 -1)

    コード

    =TEXTAFTER(A2, "-", -1)
    

    XYZ を返します。

    これは従来の RIGHT + FIND の複雑な式を完全に置き換えます。

    🎯 メールアドレスのドメイン部分を取得

    A2

    コード

    taro.yamada@example.com
    

    ▶ 使用する式

    コード

    =TEXTAFTER(A2, "@")
    

    example.com を取得できます。

    🔥 スペース区切りの氏名から「名」だけ取得

    A2

    コード

    山田 太郎
    

    ▶ 使用する式

    コード

    =TEXTAFTER(A2, " ")
    

    太郎 を返します。

    🔥 複数区切り文字に対応(TEXTSPLITとの違い)

    例:「A-123/XYZ」から最後の要素を取得

    コード

    =TEXTAFTER(A2, {"/","-"}, -1)
    

    XYZ を返します。

    複数区切りに対応できるのはTEXTAFTERの強みです。

    🧩 TEXTBEFORE と組み合わせる(相性最強)

    TEXTAFTERは、TEXTBEFOREと組み合わせることで “前後の抽出”が自由自在になります。

    TEXTBEFOREについては TEXTBEFORE関数 を参照ください。

    ■ 最初の要素だけ取得(TEXTBEFORE)

    コード

    =TEXTBEFORE(A2, "-")
    

    → ABC

    ■ 最後の要素だけ取得(TEXTAFTER)

    コード

    =TEXTAFTER(A2, "-", -1)
    

    → XYZ

    📅 日付文字列から「日」だけ取得

    A2

    コード

    2026/04/25
    

    ▶ 使用する式

    コード

    =TEXTAFTER(A2, "/", -1)
    

    25 を返します。

    📊 商品コードを分割して管理項目に

    A2

    コード

    ABC-123-RED
    

    ▶ カテゴリ(最初の要素)

    コード

    =TEXTBEFORE(A2, "-")
    

    ▶ 番号(2番目の要素)

    コード

    =TEXTAFTER(TEXTBEFORE(A2, "-", -1), "-")
    

    ▶ 色(最後の要素)

    コード

    =TEXTAFTER(A2, "-", -1)
    

    🧠 TEXTAFTER × FILTER で“必要な部分だけ抽出”

    例:商品コードの末尾が「RED」のものだけ抽出

    コード

    =FILTER(A2:A100, TEXTAFTER(A2:A100, "-", -1)="RED")
    

    FILTERについては FILTER関数 を参照ください。

    🛠 よくあるミスと注意点

    ❗ 1. 区切り文字は“完全一致”で判定

    半角/全角の違いに注意します。

    ❗ 2. 出現番号を指定しないと最初の区切りが使われる

    最後の要素を取りたいときは -1 を使います。

    ❗ 3. 見つからない場合はエラー

    IFERRORで包むと安全です。

    コード

    =IFERROR(TEXTAFTER(A2, "-"), "")
    

    ❗ 4. TEXTSPLITとは役割が違う

    • TEXTAFTER → “後ろ側”を取る
    • TEXTBEFORE → “前側”を取る
    • TEXTSPLIT → “全部”を分割する

    📊 TEXTAFTER と TEXTSPLIT の違い

    目的TEXTAFTERTEXTSPLIT
    区切りの後ろを取得
    最後の要素を取得
    全要素を分割
    複数区切り

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    TEXTAFTERを使い始めて感じたのは、 「文字列処理の自由度が一気に上がる」 ということです。

    特に、

    • 商品コードの末尾抽出
    • メールアドレスのドメイン取得
    • 氏名の名部分の抽出
    • 最後の要素だけ取りたい場面
    • TEXTSPLITと組み合わせた柔軟な整形

    これらが 1つの関数で完結 するのは革命的です。

    従来の FIND / MID / RIGHT を組み合わせていた頃には戻れません。

    🧩 TEXTAFTERの実務的な応用アイデア

    • 商品コードの末尾(色・サイズ)を抽出
    • メールアドレスのドメインを取得
    • URLのパス部分を取得
    • 氏名の名部分を抽出
    • TEXTSPLITと組み合わせて柔軟な分割
    • FILTERと組み合わせて条件抽出

    特に、 「TEXTSPLIT → TEXTAFTER → FILTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

    📝 まとめ:TEXTAFTERは“後ろ側抽出の最強ツール”

    • 区切り文字の後ろ側を一瞬で取得できます
    • 最後の要素を取るのに最強(-1)
    • TEXTBEFORE / TEXTSPLIT と組み合わせると最強
    • 商品コード・氏名・メールアドレスなどに最適
    • 従来の文字列処理を圧倒的に効率化できます

    Excelで文字列処理を効率化したいなら、 TEXTAFTER関数は必ず覚えておきたい最新関数です。

  • 【完全版】FIND関数とは?文字列の位置を正確に取得できる“検索の基礎”を実務目線で徹底解説

    サラリーマン戦士が語る、TEXTSPLIT・MID・LEFTと組み合わせて最強化する文字列処理テクニック

    Excelで文字列処理をしていると、 「特定の文字がどこにあるか知りたい」 「ハイフンの位置を調べて商品コードを分割したい」 「スペースの位置を使って氏名を分けたい」 「特定の文字が含まれているか判定したい」 といった場面が必ずあります。

    そんな“文字列の位置”を正確に取得できるのが FIND(ファインド)関数 です。

    FINDは、 指定した文字が何文字目にあるかを返すシンプルで強力な検索関数 で、 LEFT / MID / RIGHT や TEXTSPLIT と組み合わせることで、 文字列処理の自由度が一気に上がります。

    この記事では、FINDの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。

    🔍 FIND関数 の書式

    コード

    =FIND(検索文字列, 対象文字列, [開始位置])
    

    ✔ 引数の意味

    • 検索文字列:探したい文字
    • 対象文字列:検索対象
    • 開始位置(任意):検索を始める位置(デフォルトは1)

    📘 基本例:ハイフンの位置を取得

    A2

    コード

    ABC-123-XYZ
    

    ▶ 使用する式

    コード

    =FIND("-", A2)
    

    4(4文字目)を返します。

    📘 スペースの位置を取得(氏名分割に最適)

    A2

    コード

    山田 太郎
    

    ▶ 使用する式

    コード

    =FIND(" ", A2)
    

    3(3文字目)を返します。

    🎯 2つ目のハイフンの位置を取得(開始位置を指定)

    コード

    =FIND("-", A2, FIND("-", A2) + 1)
    

    → 2つ目のハイフンの位置を取得できます。

    🔥 FIND × LEFT / MID / RIGHT で文字列を分割

    FINDは、LEFT / MID / RIGHT と組み合わせることで “柔軟な文字列抽出”が可能になります。

    ■ 商品コードの「カテゴリ部分」を取得(LEFT)

    コード

    =LEFT(A2, FIND("-", A2) - 1)
    

    → 「ABC-123-RED」から ABC を取得。

    ■ 商品コードの「番号部分」を取得(MID)

    コード

    =MID(A2,
         FIND("-", A2) + 1,
         FIND("-", A2, FIND("-", A2)+1) - FIND("-", A2) - 1)
    

    123 を取得。

    ■ 商品コードの「色部分」を取得(RIGHT)

    コード

    =RIGHT(A2, LEN(A2) - FIND("-", A2, FIND("-", A2)+1))
    

    RED を取得。

    LEFT/MID/RIGHTについては LEFT関数 MID関数 RIGHT関数 の記事も参考になります。

    🔥 FIND × TEXTSPLIT で“完全自動分割”

    TEXTSPLITを使えば、 FINDを使わずに分割できますが、 「区切り文字の位置を確認したい」場面ではFINDが最強です。

    TEXTSPLITについては TEXTSPLIT関数 を参照ください。

    🧩 FIND × SUBSTITUTE で“n番目の文字を検索”

    例:3つ目のハイフンの位置を取得

    コード

    =FIND("-", SUBSTITUTE(A2, "-", "@", 3))
    

    → 3つ目のハイフンが「@」に置き換わるため、その位置を取得できます。

    SUBSTITUTEについては SUBSTITUTE関数 を参照ください。

    📅 日付文字列から「月」の位置を取得

    A2

    コード

    2026/04/25
    

    ▶ 使用する式

    コード

    =FIND("/", A2)
    

    → 最初の「/」の位置(5)を返します。

    📊 FIND × VALUE で数字だけ抽出

    例:「A-123-XYZ」から数字部分だけ抽出

    コード

    =VALUE(MID(A2, FIND("-", A2)+1, FIND("-", A2, FIND("-", A2)+1)-FIND("-", A2)-1))
    

    123 を数値として取得できます。

    🧠 FINDの強み(実務で感じたメリット)

    ✔ 文字列の位置を正確に取得できる

    複雑な文字列でも、区切り文字の位置が分かれば自由自在に分割できます。

    ✔ LEFT / MID / RIGHT と相性抜群

    FINDを使うことで、 「何文字目から何文字取り出すか」を柔軟に指定できます。

    ✔ TEXTSPLITが使えない場面でも活躍

    TEXTSPLITは便利ですが、 「区切り文字の位置を知りたい」場面ではFINDが必須です。

    ✔ SUBSTITUTEと組み合わせると“n番目の検索”が可能

    複数の区切り文字がある場合でも対応できます。

    🛠 FINDの注意点(初心者がつまずきやすいポイント)

    ❗ 1. FINDは大文字・小文字を区別する

    例:「A」と「a」は別扱いです。

    大文字小文字を区別しない場合は SEARCH関数 を使います。

    SEARCH関数

    ❗ 2. 見つからない場合はエラー(#VALUE!)

    IFERRORで包むと安全です。

    コード

    =IFERROR(FIND("-", A2), "")
    

    ❗ 3. 全角・半角の違いに注意

    「-」と「-」は別文字です。

    📊 FIND と SEARCH の違い

    項目FINDSEARCH
    大文字小文字の区別するしない
    ワイルドカード×
    速度速い普通
    実務向き正確な検索曖昧検索

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    FINDを使い始めて感じたのは、 「文字列処理の基礎はFINDで決まる」 ということです。

    特に、

    • 商品コードの分割
    • 氏名の姓・名分割
    • CSVの一部抽出
    • 改行区切りの処理
    • TEXTSPLITと組み合わせた整形

    これらの処理が、 FINDを使うことで圧倒的に正確かつ柔軟になります。

    TEXTSPLITが登場した今でも、 「区切り文字の位置を知りたい」場面ではFINDが最強です。

    🧩 FINDの実務的な応用アイデア

    • 商品コードのカテゴリ・番号・色を抽出
    • 氏名を姓・名に分割
    • メールアドレスの「@」位置を取得
    • URLのドメイン部分を抽出
    • TEXTSPLITと組み合わせて柔軟な分割
    • SUBSTITUTEと組み合わせてn番目の区切りを検索

    特に、 「FIND → MID → VALUE」 の流れは、数字抽出で最強です。

    📝 まとめ:FINDは“文字列処理の基礎となる検索関数”

    • 文字列の位置を正確に取得できます
    • LEFT / MID / RIGHT と組み合わせると最強
    • TEXTSPLITが使えない場面でも活躍
    • 大文字小文字を区別するため正確
    • SUBSTITUTEと組み合わせるとn番目の検索も可能

    Excelで文字列処理を極めたいなら、 FIND関数は必ず覚えておくべき基礎関数です。

  • 【完全版】INDEX関数とは?検索・抽出・表操作の“基礎にして最強”の参照関数を実務目線で徹底解説

    サラリーマン戦士が語る、XMATCH・MATCHと組み合わせて最強化する検索テクニック

    Excelで検索処理を行うとき、 「VLOOKUPでは左側の列を参照できない…」 「列が増えると数式が壊れる…」 「複雑な検索をもっと柔軟にしたい…」 といった悩みを抱える方は多いと思います。

    そんな“検索の限界”を突破してくれるのが INDEX(インデックス)関数 です。

    INDEXは、 「行番号 × 列番号」で値を取り出す最強の参照関数 で、 XMATCH・MATCH・FILTER などと組み合わせることで、 Excel検索の自由度が一気に跳ね上がります。

    私自身、INDEXを使い始めてから、 VLOOKUPの制約に悩むことがなくなり、 検索処理のストレスが激減しました。

    この記事では、INDEXの基本から応用、 そして実務で使ってみた感想まで、 サラリーマン戦士の視点で徹底解説します。

    🟦 INDEX関数 とは?Excel検索の“基礎にして最強”の参照関数

    INDEXは、 指定した行番号・列番号の位置にある値を返す関数 です。

    VLOOKUPのように「左から右」などの制約がなく、 どの方向にも自由に参照できる のが最大の強みです。

    🟦 INDEX関数の書式

    コード

    =INDEX(配列, 行番号, [列番号])
    

    ✔ 引数の意味

    • 配列:検索対象の範囲
    • 行番号:何行目を取るか
    • 列番号(任意):何列目を取るか

    🟦 基本の使い方

    ■ 3行目の値を取得

    コード

    =INDEX(A2:A100, 3)
    

    → A4 の値を返します。

    ■ 3行目 × 2列目の値を取得

    コード

    =INDEX(A2:C100, 3, 2)
    

    → A2:C100 の「3行目・2列目」の値を返します。

    ■ 行番号・列番号を別セルで指定

    コード

    =INDEX(A2:C100, E1, F1)
    

    → E1 に行番号、F1 に列番号を入れるだけで動的に参照できます。

    🟦 INDEX × XMATCH で“最強検索”に進化

    INDEXは単体でも強力ですが、 XMATCH関数 と組み合わせると検索の自由度が爆発的に上がります。

    ■ 商品名から商品コードを取得(XMATCHで行番号を取得)

    コード

    =INDEX(B2:B100, XMATCH("りんご", A2:A100))
    
    • A列:商品名
    • B列:商品コード

    XMATCHが行番号を返し、INDEXが値を返す最強コンビです。

    ■ 部分一致で検索(XMATCHのワイルドカード)

    コード

    =INDEX(B2:B100, XMATCH("りん*", A2:A100, 2))
    

    → 「りん」で始まる商品名のコードを取得できます。

    ■ 最新データを取得(逆方向検索)

    コード

    =INDEX(C2:C100, XMATCH("営業", A2:A100, 0, -1))
    

    → A列の「営業」を下から検索し、 その行のC列(売上など)を返します。

    🟦 INDEX × MATCH(従来の定番)

    XMATCHが登場する前は、 INDEXとMATCHの組み合わせが“最強検索”でした。

    コード

    =INDEX(B2:B100, MATCH("みかん", A2:A100, 0))
    

    MATCHについては MATCH関数 を参照ください。

    🟦 INDEX × FILTER で柔軟な抽出

    FILTERで抽出した結果の「1件目」を取得する場合:

    コード

    =INDEX(FILTER(A2:C100, B2:B100="営業"), 1, 1)
    

    → 営業部の最初の行 × 1列目を取得できます。

    FILTERについては FILTER関数 を参照ください。

    🟦 INDEX × SEQUENCE で行列を動的に参照

    例:上から5行 × 2列を取得

    コード

    =INDEX(A2:C100, SEQUENCE(5), SEQUENCE(1,2))
    

    SEQUENCEについては SEQUENCE関数 を参照ください。

    🟦 INDEXの応用:2次元検索(行×列)

    例:商品名 × 月 の交差セルを取得

    コード

    =INDEX(C2:N100,
           XMATCH("りんご", A2:A100),
           XMATCH("2026/04", C1:N1))
    

    → 行も列も XMATCH で検索することで、 VLOOKUPでは絶対にできない“2軸検索” が可能になります。

    🟦 INDEXの強み(実務で感じたメリット)

    ✔ VLOOKUPの制約がすべて消える

    • 左側の列も参照できる
    • 列が増えても壊れない
    • 列番号を固定しなくてよい

    ✔ 配列に強く、FILTERとの相性が抜群

    動的配列との組み合わせで、 柔軟な検索・抽出が可能になります。

    ✔ XMATCHと組み合わせると最強

    部分一致・逆方向検索・近似値検索など、 “やりたい検索がそのまま書ける”ようになります。

    ✔ 実務での安定性が段違い

    VLOOKUPのように列追加で壊れることがありません。

    🟦 INDEXの注意点(初心者がつまずきやすいポイント)

    • 行番号・列番号は 1から始まる
    • 配列の範囲がずれると結果もずれる
    • FILTER後の配列は「行×列」が変わる
    • XMATCHと組み合わせるときは範囲を揃える

    🟦 INDEXとVLOOKUPの違い(比較表)

    項目INDEXVLOOKUP
    左側参照×
    列追加で壊れる×
    部分一致◎(XMATCH併用)
    逆方向検索◎(XMATCH併用)×
    配列対応×
    実務向き最強初級〜中級

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    INDEXを使い始めて感じたのは、 「検索処理の自由度が一気に上がる」 ということです。

    特に、

    • 列が増えても壊れない
    • 左側の列も参照できる
    • XMATCHと組み合わせると最強
    • FILTER後の配列にも強い

    という点が、実務で圧倒的に便利でした。

    VLOOKUPで苦労していた頃には戻れません。

    🟦 INDEXの実務的な応用アイデア

    • 商品名から商品コードを取得
    • 最新データ(逆方向検索)を取得
    • 日付の最も近い予定を検索
    • FILTERで抽出した結果の特定セルを取得
    • 2軸検索(行×列)でクロス集計

    特に、 「FILTER → XMATCH → INDEX」 の流れは、複雑な検索を一瞬で処理できるため、 Excelでのデータ分析が一段レベルアップします。

    📝 まとめ:INDEXは“検索の基礎にして最強の参照関数”

    • 行番号 × 列番号で自由に参照できる
    • VLOOKUPの制約をすべて克服
    • XMATCH・MATCHと組み合わせると最強
    • FILTER・SEQUENCEとの相性も抜群
    • 実務での検索精度と安定性が劇的に向上

    Excelで検索処理を極めたいなら、 INDEX関数は必ず覚えておくべき関数です。

  • 【完全版】SUBTOTAL関数 とは?フィルター後の集計・非表示行の除外ができる“実務向けの標準集計関数”を徹底解説

    サラリーマン戦士が語る、Excelで“正しい集計”を作るための必須テクニック

    サラリーマンとして日々Excelと向き合っていると、 「フィルターで絞った結果だけ合計したい」 「非表示行を除外して平均を出したい」 「集計表が壊れないようにしたい」 「SUMでは正しい値にならない…」 といった場面が必ず出てきます。

    そんな“実務で壊れない集計”を作るために欠かせないのが SUBTOTAL(サブトータル)関数 です。

    SUBTOTALは、 フィルター後のデータだけ集計できる、Excel標準の集計関数 で、 SUM・AVERAGE・COUNT などを一つの関数で実行できます。

    AGGREGATEほど高機能ではありませんが、 フィルター集計の標準解として最も使われる関数 です。

    この記事では、SUBTOTAL関数の基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。

    🔍 SUBTOTAL関数 の書式

    コード

    =SUBTOTAL(関数番号, 範囲)
    

    ✔ 引数の意味

    • 関数番号:どの集計をするか(1〜11 / 101〜111)
    • 範囲:集計対象

    📘 SUBTOTALの「関数番号」一覧(実務で使うものだけ)

    関数番号内容
    1 / 101AVERAGE(平均)
    2 / 102COUNT(件数)
    3 / 103COUNTA(空白以外の件数)
    9 / 109SUM(合計)
    4 / 104MAX
    5 / 105MIN

    ✔ 1〜11 と 101〜111 の違い

    番号非表示行フィルター行
    1〜11手動で非表示にした行も無視するフィルターで非表示も無視
    101〜111手動非表示は無視しないフィルターで非表示は無視

    実務では 101〜111 を使うことが多い です。

    🎯 基本例:フィルター後の合計(最も使う)

    コード

    =SUBTOTAL(109, B2:B100)
    
    • 109 → SUM(フィルター行を無視)
    • B2:B100 → 集計範囲

    フィルターで絞った結果だけ合計できます。

    🎯 基本例:フィルター後の平均

    コード

    =SUBTOTAL(101, C2:C100)
    

    → フィルターで絞ったデータだけ平均できます。

    🔥 手動で非表示にした行も除外したい場合

    コード

    =SUBTOTAL(1, C2:C100)
    

    1〜11 の番号を使うと、 手動で非表示にした行も無視できます。

    🔥 フィルター × SUBTOTAL で“壊れない集計表”

    例:売上表で、部署ごとにフィルターして合計を表示したい

    コード

    =SUBTOTAL(109, D2:D100)
    

    → 部署を絞るたびに自動で合計が変わります。

    🧩 SUBTOTAL × OFFSET で“動的集計”

    例:最新10件だけ合計

    コード

    =SUBTOTAL(109, OFFSET(A1, COUNTA(A:A)-10, 0, 10, 1))
    

    OFFSETについては OFFSET関数 を参照ください。

    🧩 SUBTOTAL × FILTER で柔軟な集計

    例:営業部だけ抽出して合計

    コード

    =SUBTOTAL(109, FILTER(C2:C100, B2:B100="営業"))
    

    FILTERについては FILTER関数 を参照ください。

    📅 月次レポートで“フィルター後の平均”を出す

    コード

    =SUBTOTAL(101, E2:E100)
    

    → 月別にフィルターしても壊れない平均が作れます。

    🧠 SUBTOTALが強い理由

    ✔ フィルター後の集計が正確

    SUMではフィルター行も含まれてしまいますが、 SUBTOTALなら 表示されている行だけ 集計できます。

    ✔ SUM・AVERAGE・COUNT を1つの関数で実行

    関数番号を変えるだけで集計方法を切り替えられます。

    ✔ ピボットテーブルより軽い

    簡単な集計ならSUBTOTALのほうが速いです。

    ✔ AGGREGATEよりシンプル

    AGGREGATEは高機能ですが、 SUBTOTALは フィルター集計に特化していて使いやすい です。

    🛠 よくあるミスと注意点

    ❗ 1. 関数番号を間違える

    SUM → 9 or 109 AVERAGE → 1 or 101

    ❗ 2. 手動非表示を無視したいのに 101〜111 を使ってしまう

    → 手動非表示も無視したいなら 1〜11 を使います。

    ❗ 3. 配列数式では使えない

    SUBTOTALは配列計算に弱いです。

    ❗ 4. FILTER後の配列に使うと挙動が変わる

    FILTERは「非表示」ではなく「削除」扱いになるため、 SUBTOTALの“非表示無視”は効きません。

    📊 SUBTOTAL と AGGREGATE の違い

    項目SUBTOTALAGGREGATE
    エラー無視×
    上位・下位の取得×
    フィルター後の集計
    手動非表示の扱い番号で変わる番号で変わる
    集計種類11種類19種類
    実務向き中級最強

    AGGREGATEについては AGGREGATE関数 を参照ください。

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    サラリーマン戦士がSUBTOTALを使い始めたとき、 「フィルターで絞った結果だけ集計できるって、こんなに便利なのか…」 と本気で驚きました。

    特にメリットは次のとおりです。

    ✔ フィルター後の集計が正確

    SUMでは絶対にできない“表示行だけ集計”ができます。

    ✔ 集計方法を番号で切り替えられる

    SUM・AVERAGE・COUNT を1つの関数で扱えるのは便利です。

    ✔ ピボットテーブルより軽い

    簡単な集計ならSUBTOTALのほうが速く、資料もスッキリします。

    ✔ AGGREGATEよりシンプルで覚えやすい

    エラー無視が不要ならSUBTOTALで十分です。

    サラリーマン戦士として、 「フィルター集計の標準はSUBTOTAL」 と自信を持って言えます。

    📝 まとめ:SUBTOTALは“フィルター集計の標準ツール”

    • フィルター後のデータだけ集計できます
    • SUM・AVERAGE・COUNT を1つの関数で実行できます
    • 手動非表示を無視するかどうか選べます
    • ピボットテーブルより軽くて便利です
    • AGGREGATEよりシンプルで覚えやすいです

    Excelで正確な集計を作るなら、 SUBTOTAL関数は必ず覚えておきたい関数です。

  • 【完全版】SEQUENCE関数 とは?連番・行列生成・動的範囲を一瞬で作れる“最新の自動生成関数”を実務目線で徹底解説

    サラリーマン戦士が語る、Excelの手入力をゼロにする最強の連番テクニック

    サラリーマンとして日々Excelと向き合っていると、 「1〜100までの連番を一瞬で作りたい」 「5行×3列の番号表を自動生成したい」 「毎月の月初〜月末の日付リストを自動で作りたい」 「FILTERやSORTと組み合わせて動的な表を作りたい」 といった場面が必ず出てきます。

    これまでは

    • オートフィル
    • ROW関数
    • COLUMN関数
    • 手入力の連番 などで対応していましたが、Excel 365 以降で登場した SEQUENCE(シーケンス)関数 が、 これらの作業をすべて自動化してくれます。

    SEQUENCEは、 連番・行列・日付リストなどを一瞬で生成できる最新関数 で、 ダッシュボード、レポート、動的リスト作成に欠かせない存在です。

    この記事では、SEQUENCE関数の基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 3000字級で徹底解説します。

    🔍 SEQUENCE関数 の書式

    コード

    =SEQUENCE(行数, [列数], [開始値], [増分])
    

    ✔ 引数の意味

    • 行数:生成する行の数
    • 列数(任意):生成する列の数
    • 開始値(任意):最初の値
    • 増分(任意):増える幅(デフォルトは1)

    📘 基本例:1〜10の連番を作る

    コード

    =SEQUENCE(10)
    

    → 1〜10の縦連番が一瞬で生成されます。

    📘 基本例:5行×3列の連番表を作る

    コード

    =SEQUENCE(5, 3)
    

    → 1〜15の番号が 5行×3列 に並びます。

    📘 基本例:10から開始する連番

    コード

    =SEQUENCE(5, 1, 10)
    

    → 10, 11, 12, 13, 14 が生成されます。

    📘 基本例:2ずつ増える連番

    コード

    =SEQUENCE(5, 1, 1, 2)
    

    → 1, 3, 5, 7, 9 が生成されます。

    🎯 日付リストを自動生成(実務で最も使う)

    ✔ 月初〜月末の日付リスト

    コード

    =SEQUENCE(DAY(EOMONTH(A1,0)), 1, DATE(YEAR(A1), MONTH(A1), 1), 1)
    

    → A1 の月の日付がすべて生成されます。

    EOMONTHについては EOMONTH関数 を参照ください。

    🎯 1週間分の日付を作る

    コード

    =SEQUENCE(7, 1, TODAY(), 1)
    

    → 今日から1週間分の日付が自動生成されます。

    🔥 FILTER + SEQUENCE で“動的な抽出番号”を作る

    例:営業部の人数分だけ連番を作る

    コード

    =SEQUENCE(COUNTA(FILTER(A2:A100, B2:B100="営業")))
    

    → FILTERで抽出した人数に応じて連番が変動します。

    FILTERについては FILTER関数 を参照ください。

    🔥 SORT + SEQUENCE で“ランキング番号”を作る

    コード

    =SEQUENCE(ROWS(A2:A100))
    

    → SORTで並べ替えた表に連番を付けるときに便利です。

    SORTについては SORT関数 を参照ください。

    🧩 SEQUENCE × WRAPROWS / WRAPCOLS で整形

    例:1〜12を3列で整形(四半期表示)

    コード

    =WRAPROWS(SEQUENCE(12), 3)
    

    WRAPROWSについては WRAPROWS関数 を参照ください。

    🧩 SEQUENCE × TAKE / DROP で柔軟な切り出し

    例:1〜100のうち、最後の10件だけ取得

    コード

    =TAKE(SEQUENCE(100), -10)
    

    TAKEについては TAKE関数 を参照ください。

    📅 月次レポートの“月番号”を自動生成

    コード

    =SEQUENCE(12)
    

    → 1〜12の月番号を自動生成できます。

    🔄 SEQUENCE × CHOOSECOLS / CHOOSEROWS で表操作

    例:5行×5列の番号表から奇数列だけ抜き出す

    コード

    =CHOOSECOLS(SEQUENCE(5,5), 1, 3, 5)
    

    CHOOSECOLSについては CHOOSECOLS関数 を参照ください。

    🛠 よくあるミスと注意点

    ❗ 1. 行数・列数を逆に指定してしまう

    → 行数が先、列数が後です。

    ❗ 2. 開始値・増分を省略すると1から始まる

    → 必要に応じて指定しましょう。

    ❗ 3. 動的配列なので隣接セルに上書きされる

    → 空きスペースを確保して使います。

    📊 SEQUENCE関数が活躍する場面まとめ

    目的関数
    連番生成SEQUENCE
    行列生成SEQUENCE
    日付リストSEQUENCE + EOMONTH
    動的リストSEQUENCE + FILTER
    整形SEQUENCE + WRAPROWS

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    サラリーマン戦士がSEQUENCE関数を使い始めたとき、 「もう連番を手入力する時代は終わった…」 と本気で感じました。

    特にメリットは次のとおりです。

    ✔ 連番・行列生成が一瞬

    1〜1000の連番も一発で作れます。

    ✔ 日付リストの自動生成が神

    月初〜月末の日付を自動で作れるのは革命的です。

    ✔ FILTER・SORTとの相性が最強

    動的な表作成が劇的に楽になります。

    ✔ ダッシュボード作成が高速化

    ランキング番号、月番号、行番号などが自動生成できます。

    サラリーマン戦士として、 「Excelの自動化はSEQUENCEから始まる」 と断言できます。

  • 【完全版】TEXTSPLIT関数とは?区切り文字で一瞬にして分割できる“文字列処理の革命”を実務目線で徹底解説

    サラリーマン戦士が語る、LEFT/MID/RIGHT時代を終わらせる最新の文字列分割テクニック

    Excelで文字列処理をしていると、 「商品コードを分割したい」 「CSVデータをセルに展開したい」 「氏名を姓と名に分けたい」 「改行区切りのデータを行に展開したい」 といった場面が必ずあります。

    従来は LEFT / MID / RIGHT / FIND / SUBSTITUTE を組み合わせて、 複雑な式を書かなければなりませんでした。

    しかし、最新Excelで登場した TEXTSPLIT(テキストスプリット)関数 が、 この悩みをすべて解決してくれます。

    TEXTSPLITは、 区切り文字で文字列を分割し、行・列に自動展開できる最新関数 で、 文字列処理の手間を劇的に減らす“革命的な関数”です。

    この記事では、TEXTSPLITの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 3000字級で徹底解説します。

    🔍 TEXTSPLIT関数 の書式

    コード

    =TEXTSPLIT(文字列, 列区切り, [行区切り], [空白無視], [パディング])
    

    ✔ 引数の意味

    • 文字列:分割したい文字列
    • 列区切り:横方向に分割する区切り文字
    • 行区切り(任意):縦方向に分割する区切り文字
    • 空白無視(任意):TRUEで余分な空白を無視
    • パディング(任意):不足セルに入れる値

    📘 基本例:ハイフンで分割

    A2

    コード

    A-123-XYZ
    

    ▶ 使用する式

    コード

    =TEXTSPLIT(A2, "-")
    

    ▶ 結果

    A|123|XYZ に自動展開されます。

    📘 カンマ区切り(CSV)を分割

    コード

    =TEXTSPLIT(A2, ",")
    

    → CSVデータを一瞬でセルに展開できます。

    🎯 スペース区切りの氏名を「姓」「名」に分割

    A2

    コード

    山田 太郎
    

    ▶ 使用する式

    コード

    =TEXTSPLIT(A2, " ")
    

    → 山田|太郎 に分割されます。

    🔥 行方向に分割(改行で分割)

    改行コードは CHAR(10) を使います。

    コード

    =TEXTSPLIT(A2, , CHAR(10))
    

    → 縦方向に展開されます。

    🔥 複数の区切り文字で分割(最強)

    例:「A-123/XYZ」を「A」「123」「XYZ」に分割

    コード

    =TEXTSPLIT(A2, {"-","/"})
    

    → 複数区切りに対応できます。

    🧩 TEXTAFTER / TEXTBEFORE と組み合わせる(相性最強)

    TEXTSPLITと同時に使うと、 “必要な部分だけ抽出”が簡単になります。

    ■ 最初の要素だけ取得(TEXTBEFORE)

    コード

    =TEXTBEFORE(A2, "-")
    

    ■ 最後の要素だけ取得(TEXTAFTER)

    コード

    =TEXTAFTER(A2, "-", -1)
    

    TEXTAFTER / TEXTBEFORE については TEXTAFTER関数 TEXTBEFORE関数 の記事も参考になります。

    📅 日付文字列を分割して整形

    A2

    コード

    2026/04/25
    

    ▶ 使用する式

    コード

    =TEXTSPLIT(A2, "/")
    

    → 年|月|日 に分割できます。

    📊 商品コードを分割して管理項目に

    A2

    コード

    ABC-123-RED
    

    ▶ 使用する式

    コード

    =TEXTSPLIT(A2, "-")
    

    → カテゴリ|番号|色 に分割できます。

    🧠 TEXTSPLIT × FILTER で“必要な部分だけ抽出”

    例:分割した中から数字だけ抽出

    コード

    =FILTER(TEXTSPLIT(A2, "-"), ISNUMBER(--TEXTSPLIT(A2, "-")))
    

    FILTERについては FILTER関数 を参照ください。

    🛠 よくあるミスと注意点

    ❗ 1. 区切り文字は“完全一致”で判定

    半角/全角の違いに注意します。

    ❗ 2. 改行は CHAR(10)

    Windowsの改行コードです。

    ❗ 3. 分割後のセル数が揃わないとエラー

    パディング引数で埋める値を指定できます。

    例:不足セルに「—」を入れる

    コード

    =TEXTSPLIT(A2, "-", , , "—")
    

    📊 TEXTSPLIT と LEFT/MID/RIGHT の違い

    目的TEXTSPLITLEFT/MID/RIGHT
    区切り文字で分割◎ 最強△ 手間が多い
    固定位置で抽出
    CSV展開×
    改行で分割×

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    TEXTSPLITを使い始めて感じたのは、 「文字列処理のストレスが一気に消える」 ということです。

    特に、

    • 商品コードの分割
    • CSVデータの展開
    • 氏名の姓・名分割
    • 改行区切りのデータ整形
    • 複数区切りの処理

    これらが 1つの関数で完結 するのは革命的です。

    従来の LEFT / MID / RIGHT を組み合わせていた頃には戻れません。

    🧩 TEXTSPLITの実務的な応用アイデア

    • 商品コードを分割して管理項目に
    • CSVデータをセルに展開
    • 氏名を姓・名に分割
    • 改行区切りのメモを行に展開
    • TEXTAFTER / TEXTBEFORE と組み合わせて柔軟な抽出
    • FILTERと組み合わせて必要な部分だけ抽出

    特に、 「TEXTSPLIT → FILTER → TEXTAFTER の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

    📝 まとめ:TEXTSPLITは“文字列処理の革命”

    • 区切り文字で一瞬にして分割できます
    • CSV・商品コード・氏名などに最強です
    • 改行・複数区切りにも対応しています
    • TEXTAFTER / TEXTBEFORE と組み合わせると最強です
    • 従来の文字列処理を圧倒的に効率化できます

    Excelで文字列処理を効率化したいなら、 TEXTSPLIT関数は必ず覚えておきたい最新関数です。

  • 【完全版】XMATCH関数とは?MATCHの弱点をすべて克服した“次世代の検索エンジン”を実務目線で徹底解説

    サラリーマン戦士が語る、Excel検索のストレスをゼロにする最新関数

    Excelで検索処理を行うとき、長年の定番は VLOOKUPMATCH でした。 しかし、最新Excelで登場した XMATCH(エックスマッチ)関数 は、 これまでの検索関数の弱点をほぼすべて克服した“次世代の検索エンジン”と言える存在です。

    私自身、XMATCHを業務で使い始めてから、 検索の柔軟性・スピード・安定性が大幅に向上し、 Excel作業のストレスが一気に減りました。

    この記事では、XMATCHの基本から応用、 そしてサラリーマン戦士として実務で使ってみた感想まで、 分かりやすく・実務目線で徹底解説します。

    🟦 XMATCH関数 とは?MATCHの完全強化版となる最新の検索関数

    XMATCHは、従来の MATCH関数の上位互換 と言える最新の検索関数です。

    ✔ XMATCHでできること

    • 完全一致
    • 部分一致(ワイルドカード)
    • 逆方向検索(下から検索)
    • バイナリ検索(高速検索)
    • 配列との相性が抜群

    これらを 1つの関数で実現 できるため、 実務では「MATCHよりXMATCHを使うべき」と断言できるほど便利です。

    🟦 XMATCH関数の書式

    コード

    =XMATCH(検索値, 検索範囲, [一致モード], [検索モード])
    

    ● 一致モード(第三引数)

    意味
    0完全一致(デフォルト)
    -1以下で最も近い値
    1以上で最も近い値
    2ワイルドカード一致(部分一致)

    ● 検索モード(第四引数)

    意味
    1上から検索(デフォルト)
    -1下から検索(逆方向検索)
    2バイナリ検索(昇順)
    -2バイナリ検索(降順)

    🟦 基本の使い方

    ■ 完全一致で検索(MATCHの上位互換)

    コード

    =XMATCH("りんご", A2:A100)
    

    MATCHと同じ動きですが、 XMATCHのほうが 高速で安定 しています。

    ■ 部分一致(ワイルドカード)で検索

    コード

    =XMATCH("りん*", A2:A100, 2)
    

    「りんご」「りんごジュース」など、 “りん”で始まる文字列を検索できます。

    ■ 逆方向検索(下から検索)

    コード

    =XMATCH("営業", A2:A100, 0, -1)
    

    大量データの中で 最新の値を探す ときに最強です。

    ■ 数値の近似値検索(以上で最も近い値)

    コード

    =XMATCH(80, B2:B100, 1)
    

    スケジュール管理や価格帯検索など、 実務でよく使うパターンです。

    🟦 XMATCH × XLOOKUP で“最強検索”に進化

    XMATCHは単体でも強力ですが、 XLOOKUP関数 と組み合わせると検索の自由度が爆発的に上がります。

    例:部分一致で商品名を検索し、商品コードを返す

    コード

    =XLOOKUP(
        XMATCH("りん*", A2:A100, 2),
        ROW(A2:A100)-ROW(A2)+1,
        B2:B100
    )
    

    → 「曖昧検索 → 正確な値取得」が可能になります。

    🟦 INDEX × XMATCH で柔軟な検索

    コード

    =INDEX(B2:B100, XMATCH("みかん", A2:A100))
    

    MATCHより高速で、配列にも強い。 実務では INDEX+XMATCH が最も安定した検索コンビです。

    INDEXについては INDEX関数 を参照ください。

    🟦 日付の近似値検索(スケジュール管理に便利)

    コード

    =XMATCH(TODAY(), A2:A100, 1)
    

    今日以降で最も近い日付を返します。 ガントチャートや予定表で大活躍します。

    🟦 XMATCHの注意点(初心者がつまずきやすいポイント)

    • 部分一致は一致モード 「2」
    • 逆方向検索は検索モード 「-1」
    • バイナリ検索は 並び替え済みの範囲 で使う
    • FILTER後の配列にも強い(MATCHは弱い)

    FILTERについては FILTER関数 を参照ください。

    🟦 XMATCHとMATCHの違い(比較表)

    項目XMATCHMATCH
    完全一致
    部分一致
    逆方向検索×
    バイナリ検索
    配列対応
    実務向き最強中級

    🧑‍💼 サラリーマン戦士が実際に使ってみた感想

    サラリーマン戦士がXMATCHを使い始めて最初に感じたのは、 「とにかくストレスが減る」 ということでした。

    MATCHでは、

    • 部分一致が不安定
    • 逆方向検索ができない
    • 配列に弱い
    • エラーが出やすい

    といった問題があり、 複雑な検索をするときに“工夫”が必要でした。

    しかしXMATCHは、 「やりたい検索がそのまま書ける」 という感覚があり、実務のスピードが明らかに上がりました。

    特に、

    • 最新データを探す逆方向検索
    • 日付の近似値検索
    • 部分一致での曖昧検索

    は、毎日のように使っています。

    🟦 XMATCHの応用アイデア(実務で役立つ)

    • 最新の売上データを取得
    • 特定キーワードを含む商品を検索
    • 日付の最も近い予定を探す
    • FILTER+XMATCHで複数条件検索
    • INDEXと組み合わせて柔軟な検索システムを構築

    特に、 「FILTER → XMATCH → INDEX」 の流れは、複雑な検索を一瞬で処理できるため、 Excelでのデータ分析が一段レベルアップします。

    📝 まとめ:XMATCHは“検索の完全上位互換”

    • MATCHの弱点をすべて克服
    • 部分一致・逆方向検索・バイナリ検索に対応
    • XLOOKUP・INDEXと組み合わせると最強
    • 配列処理にも強く、最新Excel向け
    • 実務での検索精度と効率が劇的に向上

    Excelで検索処理を極めたいなら、 XMATCHは必ず覚えておくべき関数です。