Excelの範囲内のテキストを検索し、セルの参照を返す(3つの方法)

  • これを共有
Hugh West

このチュートリアルでは、以下の方法について説明します。 テロップを出す において エクセル範囲 テキストを保持しているセルへの参照を返す また、いくつかの方法を紹介しますので、どの方法にもマッチする可能性があります。

しかし、本論に入る前に、これから使う機能について少し触れておきたいと思います。

作業用ファイルのダウンロード

このチュートリアルを作成するために使用したExcelファイルです。 ダウンロードして、一緒について行きましょう。

範囲内のテキストを検索してセルリファレンスを返す.xlsx

前提条件となる議論

このパートは、すでに以下のExcel関数を多用されている方のためのオプションです。

  • INDEX()
  • マッチ
  • CELL()
  • そしてOFFSET()

# エクセルでINDEX関数

INDEX機能 BASE関数は、指定された範囲内の、特定の行と列の交点にあるセルの値または参照を返します。

INDEX関数の構文です。

INDEX(array, row_num, [column_num])

INDEX(reference, row_num, [column_num], [area_num])を指定する。

下の画像を見てください。

計算式の説明

例1.

例1(と例2)は、少しわかりにくいかもしれません。 これは、実は Excelの配列の式 .

  • まず、セルを選択します C16 を書いたら、次の式を書きましょう。
{=index(b4:d9,2,)}になります。

  • を押してみました。 ctrl+shift+エンター をクリックして、配列の式を入力します。

この処方は実際にどのように作用するのでしょうか?

  • ここでは、配列部分の INDEX 関数は B4:D9 ... その 第2回 の行は B5:D5 行になります。
  • 列番号が空欄のため INDEX 関数は 第2回 の行になります。

例2

{=INDEX((B4:D9,F4:H9),2,,2)}

  • として INDEX 関数リファレンスがあります。 の範囲はここです。 B4:D9 F4:H9です。
  • 行番号は 2 列番号の指定がないため,すべての 第2回 の行が返されます。
  • 範囲 F4:H9 は、Index 機能でエリア番号が 2.

例3

=index(b4:b9,3,)

それは、とてもシンプルなものです。 INDEX の式で表されます。 3位 配列の値 B4:B9 がこの式で返されます。

例4

=index(b4:d9,2,3)

この式は交点値を返す 第2回 列と 3位 範囲内の列 B4:D9 .

# エクセルでのMATCH関数

MATCH機能 は、値の配列における値の位置を返します。

MATCH関数のシンタックス。

=MATCH(lookup_value、lookup_array、[match_type])

  • では、次の数式を書き込んでください。 C17 ボックスを使用します。
=match(c14,b4:b9,0)

この式の仕組みは?

  • セルの値 C14 でございます グーグル したがって、ルックアップ値は グーグル
  • セル範囲内 B4:B9 で、Googleの位置は 6日
  • そこで、この式では 6.

# エクセルでCELL関数

CELL機能 は、シートの読み順に従って、最初のセルの書式、位置、または内容に関する情報を、参照で返します。

Excel CELL関数の構文

=CELL(info_type, [reference])

を使うことで、より効果的になります。 CELL 関数で、セル参照に関する多くの詳細情報を得ることができます。 アブソリュート 住所です。 上の画像からわかります。

# エクセルでOFFSET関数

エクセルのOFFSET関数 は、指定された参照から指定された数の行と列を持つ範囲への参照を返します。

OFFSET関数のシンタックスです。

=OFFSET(reference, rows, cols, [height], [width])

  • ここでは、以下の計算式で B13 ボックスを使用します。
=sum(offset(b4,3,1,3,2))

この式の仕組みは?

  • のリファレンスは オフセット 関数はセル参照 B4 .そこで、セル B4 の位置は 0 .
  • その後 3 の行を基準として下げた。
  • その後 1 の列を最後の位置から右に移動します。
  • 最後に、範囲の合計 C7:D9 (高さ 3 行と列 2 の値を返します。 756 .範囲 C7:D9 はオレンジ色の枠で強調表示されます。

というわけで、前提条件の話は終わり。

さて、本論に入ります。

Excelの範囲内のテキストを検索してセル参照を返す3つの方法

ここでは、Excelで範囲内のテキストを検索し、セル参照を返す方法を説明します。 さらに、理解を深めるために、次のデータセットを使用します。

方法1:INDEX & MATCH関数を使用して範囲内のテキストを検索し、セルの参照を返す

この方法では、1つの列のテキストを検索し、見つかった場合は数式が参照を返すようにします。 また、このメソッドでは INDEX MATCH 関数で、範囲内のテキストを検索し、セル参照を返します。

ステップス

  • まず、別のセルを選択します D17 結果を保存したい場所。
  • 次に、次の数式を書き込んでください。 D17 のセルがあります。
=CELL("アドレス",INDEX(B4:B14,MATCH(D16,B4:B14,0)))

  • 続いて、 を押します。 エンタメ をクリックすると結果が表示されます。

最後に、セル参照を取得し、". ドロップボックス " テキストを表示します。

この式の仕組みは?

本文の数式を説明します "ドロップボックス" :

  • この部分の計算式は マッチ(D16,B4:B14,0) という値を返します。 9 の位置づけだからです。 ドロップボックス 配列中 B4:B14 でございます 9日 .そこで、全体の計算式はこうなる。

=CELL("住所",INDEX(B4:B14,9))

  • では、その インデックス(b4:b14,9) 部分参照 B12 .だから、式はこうなる。 =CELL("アドレス",B12)
  • それから。 =CELL("アドレス",B12) セルの絶対参照を返す B12 .
  • だから、私は得る $B$12 を式全体の出力とする。

注:INDEX(B4:B14,9)は値またはセル参照のどちらかを返すことができます。 これがINDEX関数の素晴らしいところです。

続きを読む: Excelで別のシートのセルを動的に参照する

類似の読み物

  • エクセルでINDIRECT関数を使う方法(適切な例12件)
  • セルに特定の文字列が含まれている場合、Excelで1を追加する(5例)
  • エクセルでROW関数を使う方法(8つの例付き)
  • セルにテキストが含まれている場合、Excelで別のセルにテキストを追加する
  • エクセルでCOLUMNS関数を使う方法(3例)

方法2:INDEX, MATCH &; OFFSET関数を適用する。

この方法では、複数のカラムからテキストを検索することができます。 ただし、カラムは自分で選択する必要があります。 さらに、この方法には INDEX、OFFSET。 MATCH 関数で、範囲内のテキストを検索し、セル参照を返します。

ステップス

  • まず、次の数式を書き込んでください。 D18 のセルがあります。
=CELL("アドレス",INDEX(OFFSET(B4,0,D17-1,11,1), MATCH(D16,OFFSET(B4,0,D17-1,11,1),0)))

  • 次に、 を押します。 エンタメ をクリックすると結果が表示されます。

最後に、セル参照を取得し、". マイク・リトル " テキストを表示します。

この式の仕組みは?

  • この式は、上記の式と同様に動作します。 唯一の違いは、列がExcelの オフセット を理解した上で、その機能を使ってください。 オフセット 関数を使えば、この部分は簡単に理解できます。 OFFSET(B4,0,D17-1,11,1)

続きを読む: エクセルでのOFFSET関数の使用例(数式+VBA )

方法3:複合関数を使用して範囲内のテキストを検索し、セルの参照を返す

あるテキストが範囲内で複数回繰り返されることがあります。 そのテキストが範囲内で何行目かを返すことができます。 ここでは、そのために SMALL , イフ 関数で、範囲内のテキストを検索し、セル参照を返します。

以下の画像からわかるように、テキスト "アップル" にょろにょろ 3 回の範囲で B4:B14 .

この行数をどうやって求めるか、紹介しましょう。

  • 私は、この数式をセル D9 .
{=small(if($d$6=$b$4:$b$14,row($b$4:$b$14)-row($b$4)+1),row(1:1))} になります。

  • そして、この数式をコピーダウンして D10 のセルがあります。
=small(if($d$6=$b$4:$b$14,row($b$4:$b$14)-row($b$4)+1)),row(2:2))

  • ここで、私が押したのは Ctrl + Shift + Enter をクリックすると結果が表示されます。

  • 同様に、数式がエラー値を返すまでコピーしています。

これは明らかにExcelの配列式です。

しかし、その前に、どのように SMALL 関数はExcelで動作します。

SMALL関数の構文です。

小なり

例えば、こんな感じです。 SMALL({80;35;55;900},2) が返されます。 第2回 配列の最小値 {80;35;55;900} .出力されます。 55 .

では、その配合はどうなっているのでしょうか。

セル D9 = {=small(if($d$6=$b$4:$b$14,row($b$4:$b$14)-row($b$4)+1),row(1:1))} になります。

この配列式を明確に理解するために、私のガイドを読んでください。 Excel配列式基礎2-配列式の内訳

  • この部分の計算式は if($d$6=$b$4:$b$14,行($b$4:$b$14)-行($b$4)+1) の配列を返します。 SMALL 関数を使用します。
    • のロジックテスト部分 IF関数 です。 d$6=$b$4:$b$14 このパートでは,以下の範囲にある値が正しいかどうかを(1つずつ)テストします。 B$4:$B$14 が等しい。 $D$6 等しい場合は の値が配列に設定され、等しくない場合は の値が配列に設定されます。 false;false;true;false;false;false;true;false;false} {false;false;true;false;false} {false;false;false;false;false} {false;false;false;true;false;false
    • そして value_if_true の部分がそうです。 行($b$4:$b$14)-行($b$4)+1) .この部分全体は、こんな感じで返ってきます。 {1;2;3;4;5;6;7;8;9;10;11} - {1} + 1 = {0;1;2;3;4;5;6;7;8;9;10} + 1 = {1;2;3;4;5;6;7;8;9;10;11}
  • 列(1:1) は、実は k SMALL を返します。 1 .
  • そこで、セル内の数式 D9 はこのようになります。 small(if({false;false;true;false;false;false;true;false;false},{1;2;3;4;5;6;7;8;9;10;11}),1).
  • では、その イフ 関数はこの配列を返します。 {false;false;3;false;false;7;false;9;false;false}.
  • という式になる。 small({false;false;3;false;false;7;false;9;false},1)となります。
  • 最後に、この式は以下を返します。 3.

この複雑な計算式の仕組みがお分かりいただけたでしょうか?

もっと読む Excel セルにテキストが含まれている場合、値を返す(8つの簡単な方法)

結論

この記事がお役に立てば幸いです。 ここでは、以下のことを説明しました。 3 を理解するのに適した方法です。 Excelで範囲内のテキストを検索してセル参照を返す .当社のウェブサイトをご覧いただけます。 Exceldemy コメント、ご提案、お問い合わせは、以下のコメント欄からお願いします。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。