日付,数値1,数値2,数値3,数値4,......数値20
20181230,10,1,6,12,7,3,5.....
20181231,1,3,7,2,5......
20190101,7,9,3,11,15,4,6,.....
20190102,10,11,14,2,6,7,.....
上記の表がシートDBにあり、シート1のセルA2に20190101、B2に9があり、C2に3を返す関数を教えて下さい(4行目20190101行にある9が、3番目にあるという意味で3を返す関数)。
MATCH(A2,DB!A:A,0)で得た4を使ってMATCH(B2,DB!A4:T4,0)で出ると思うのですが、一つの式にしたいのです。関数に関数で得た値をセル位置?とするにはどうすればよいのか、教えていただけないでしょうか、よろしくお願い致します。
No.4ベストアンサー
- 回答日時:
(´・ω・`)?
日付を検索して、「20190101」に該当する行にある「9」が何列目にあるかを知りたいということでしょうか。
日付の検索は
=MATCH(A2,DB!A:A,0)
でOK。
問題ありません。
「4」と言う数字が返ってくるでしょう。
続いて横方向への検索になりますね。
=MATCH(B2,DB!A4:T4,0)
でOK。
問題ありません。
質問は「この横方向の検索に使うMATCH関数に、前のMATCH関数をどう組み合わせればよいか分からない」ということですので、
ここはOFFSET関数を使うことを勧めてみます。
OFFSET関数は指定した基準のセルからどれだけずれた場所のセルを参照するかと言う関数です。
=OFFSET( 基準 , 行数 , 列数 [, 高さ , 幅] )
のようにして使います。
[ ] で囲まれた部分は省略可能ですが、その場合は1つのセルとして参照範囲が決まります。
質問のケースでは、この「高さ」を「1」、「幅」をデータのある列の数にする事で利用可能と思います。
例えば
OFFSET(Sheet2!A1,3,0,1,20)
とすると、
Sheet2のA1セルから3つ下、右へ0のセルから、高さ1、幅20の範囲
ということで
Sheet2!A4:T4
の範囲が返ります。
さあ、あとはどこにどの数字を入れればいいかは分かるよね。
がんばれ。
・・・余談・・・
ハッキリ言って分かりにくい質問です。
10分以上読み直して、ようやく意図を掴めたという感じ。
別回答でINDIRECT関数についても書いてみようかと思ったけど、ここで簡単に説明してみる。
INDIRECT関数は文字を範囲に置き換える関数です。
「A」と言う文字と「4」と言う数値を繋げてINDIRECT関数に入れると、A4と言うセルを参照することができるようになるってもの。
=INDIRECT("A" & 4)
他にも
=INDIRECT("Sheet2!A" & F1 & ":T" & F1)
としたときにF1セルに「4」が入力されていれば、
Sheet2!A4:T4
を参照してくれます。
視覚的にはこのほうが分かりやすいかもしれないけど、あまりお勧めはしない。
視覚的ということは中身をイメージできないと逆に分かりにくいものになるからだ。
=MATCH(B2,OFFSET(DB!A1,MATCH(A2,DB!A:A,0)-1,0,1,20),0)でできました。
行数の項で-1にすることに気付くまで四苦八苦でした。
ありがとうございました。
私が知りたかったのはINDIRECT関数でした。でもあまり推奨できないという事なので(その意味は年老いた私には分かりませんが)、OFFSET関数も勉強できてとてもすっきりしました。本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) 関数 9 2022/05/27 09:47
- Visual Basic(VBA) エクセル関数のことで質問です。 別シートセルから値をもってくるように関数を設定しているときに、 別シ 3 2023/01/31 14:10
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
- Excel(エクセル) Excelで全クラスのランキング表を作成したい 4 2022/05/24 15:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
Excelのチェックボックスの使い...
-
エクセル オートフィルタで絞...
-
Excelで住所を2つ(町名迄と番...
-
セルに特定の色が付いていたら...
-
枠に収まらない文字を非表示に...
-
Excel:指定セル以下全てのセル...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excelで、「特定のセル」に入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルで縦に1112223...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報