メインコンテンツへスキップ

条件付きで最長のテキスト文字列を見つける

Author: Amanda Li Last Modified: 2025-08-06

このチュートリアルでは、ExcelでINDEXMATCHLEN、MAX関数を使用して、列または行の中で条件に基づいて最長のテキスト文字列を検索する方法について説明します。

find longest text string with criteria 1

Excelで条件付きの最長テスト文字列を見つけるにはどうすればよいですか?

上記の名前の範囲にリストされているアメリカから来た最長の名前を持つ人を迅速に見つけるために、INDEX、MATCH、LEN、MAX関数を組み合わせた数式が役立ちます。 MAX関数は、LEN関数によって提供される文字列長の範囲の中から最大値を取得します。その後、MATCHはその範囲内で最初の最長値の位置を見つけ、INDEXは対応する位置にある値を取得します。

汎用構文

=INDEX(return_range,MATCH(MAX(LEN(return_range)*(criteria_range=criteria_value)),LEN(return_range)*(criteria_range=criteria_value),0))

√ 注: これは配列数式であり、Ctrl + Shift + Enterで入力する必要があります。

  • return_range: 組み合わせ数式が最長の名前を返す範囲です。ここでは名前の範囲を指します。
  • criteria_range: 条件がリストされている範囲です。ここでは国名の範囲を指します。
  • criteria_value: 設定した条件です。

アメリカから来た最長の名前を持つ人を見つけるには、以下の数式をセルF6にコピーまたは入力し、結果を得るためにCtrl + Shift + Enterを押してください:

=INDEX(B5:B11,MATCH(MAX(LEN(B5:B11)*(C5:C11="America")),LEN(B5:B11)*(C5:C11="America"),0))

または、数式を動的にするためにセル参照を使用します:

=INDEX(B5:B11,MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5),0))

find longest text string with criteria 2

数式の説明

=INDEX(B5:B11,MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)),LEN(B5:B11)*(C5:C11=F5),0))

  • LEN(B5:B11)*(C5:C11=F5): LEN関数は、 B5:B11内の各名前の長さの配列を次のように返します:{5;5;6;3;4;8;5}; (C5:C11=F5) の部分は、範囲C5:C11内の各値がF5の値と等しいかどうかを確認し、次のような配列を生成します:{FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE}。これが乗算されるため、{0;0;1;0;1;0;1} になります。そして、これが乗算後の結果です:{0;0;6;0;4;0;5}
  • MAX(MAX(LEN(B5:B11)*(C5:C11=F5))) = MAX(MAX({0;0;6;0;4;0;5})): MAX関数は、配列 {0;0;6;0;4;0;5} から最大値を返します。それは6です。
  • MATCH(MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5)),,LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5),0),0) = MATCH(MATCH(6,,{0;0;6;0;4;0;5},0),0): match_type 0は、MATCH関数に配列{0;0;6;0;4;0;5}内で最初に正確に一致する数字6の位置を見つけるように強制します。そのため、数字が3番目の位置にあるので、3を返します。
  • INDEX(B5:B11B5:B11,,,MATCH(MAX(LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5))),,,LEN(B5:B11)*(C5:C11=F5)LEN(B5:B11)*(C5:C11=F5),0))) = INDEX(B5:B11B5:B11,,,3): INDEX関数は、名前の範囲B5:B11内の3番目の値を返します。それはOliverです。

関連する関数

Excel INDEX関数

ExcelのINDEX関数は、範囲または配列からの指定された位置に基づいて表示される値を返します。

Excel MATCH関数

ExcelのMATCH関数は、セル範囲内で特定の値を検索し、その値の相対的な位置を返します。

Excel LEN関数

LEN関数は、テキスト文字列内の文字数を返します。


関連する数式

列または行の中で最長または最短のテキスト文字列を見つける

Excelで列または行の中で最長または最短のテキスト文字列を検索するには、INDEX、MATCH、LEN、MAXまたはMIN関数を一緒に使用できます。

INDEXおよびMATCHによる近似一致

従業員のパフォーマンス評価、学生の成績評価、重量に基づく郵便料金計算など、Excelで近似一致を見つける必要がある場合があります。このチュートリアルでは、必要な結果を取得するためにINDEXおよびMATCH関数を使用する方法について説明します。

複数の基準による最も近い一致値の検索

場合によっては、複数の基準に基づいて最も近いまたは近似の一致値を検索する必要があります。INDEX、MATCH、IF関数を組み合わせることで、Excelですばやく実行できます。


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。