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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Amanda Li Last modified

このチュートリアルでは、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 Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |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含む)にもたらします。