『INDIRECT関数の日付認識について』(ひさちゃん)
今現在は、各シート(月別)の同じセル番号の数字を『集計』シートに表示させています
この集計されたデータを、別のシートセル(例えば4月データ)に表示させるためキーとなるのがA列で、その際表示させたいシートのキーは見かけ上4月となっていますが日付(2026/4/1)という書式でデータ保持しています。
※他のデータの識別用に日付データで保持しています。
そうなると、下記データのA列は文字列の4月、4月データシートは日付データになっているので、VLOOUPU関数を使っての表示は不可能になってきます。
こういう場合は、INDIRECT関数は適当ではないでしょうか。
■集計シート
【A】 【B】 【C】
1
2 [月別売上実績]
3 月 件数 売上
4 3月 9 9,062,960
5 4月 6 4,971,510
6 5月 4 6,389,800
7 6月 10 17,540,341
8 7月 8 26,541,328
9 8月 6 1,484,482
10 9月 1 50,000
11 10月
12 11月
13 12月
14 1月
15 2月
4月(B5セル)の関数はこんな感じです。
=IF(ISERROR(INDIRECT($A5&"!J67",1)),"",INDIRECT($A5&"!J67",1))
4月(C5セル)の関数はこんな感じです。
=@IF(ISERROR(@INDIRECT($A5&"!K67",1)),"",INDIRECT($A5&"!K67",1))
もうこれは、集計シートにセル挿入などをして、4月データシート(VLOOUPU関数用に)日付データを作成するとかしかないでしょうか?
説明が分かりにくかったら大変申し訳ないですが、
アドバイスいただけないでしょうか。
よろしくお願いします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
(参考) 2026/09/08(火) 15:06:19
(ひさちゃん) 2026/09/08(火) 15:27:24
集計シートのたとえば A5 が「4月」という文字列で、「4月」という名前のシートの値を参照するのだから、INDIRECT は必須でしょう。
ただ、
=IF(ISERROR(INDIRECT($A5&"!J67",1)),"",INDIRECT($A5&"!J67",1))
は冗長で、
=IFERROR(INDIRECT($A5&"!J67",1),"")
でよいかと。
(4xmy) 2026/09/08(火) 15:32:38
(茶々) 2026/09/08(火) 15:48:54
> この集計されたデータを、別のシートセル(例えば4月データ)に表示させる つまり、各月のシートに、集計シートのデータを引っ張ってくるんですね? (例えば、4月シートに、集計シートを介して5月のデータを持ってくるといったことですか?) 書かれたとおり解釈しましたが、もし出発点が違っていたら修正してください。
・各月シートのキー項目は日付型データ ・集計シートのキー項目(A列)は 文字列データ ということなら、単に、 VLOOKUP関数の第一引数を、日付型から文字列に変換したものを入れることによって、 どちらもキー項目を文字列に統一したうえで、VLOOKUP関数を使えばよいでしょう。 (変換は、(参考)さんのコメントにあるTEXT関数を使用します。)
また、参照先は集計シートと決まっているなら、そもそもINDIRECT関数は不要ですよね。 また^2、集計シートのB5セル、C5セルの式は、質問には直接関係しないんですね?
(xyz) 2026/09/08(火) 20:09:43
おそらくですが 集計シートのA列が日付(キーと言ってるもの) 各月のシートの名前がテキスト 各シートのJ67:K67にほしい値
>=INDIRECT(TEXT(A1,"m""月""")&"!A1",1)のA1とは…なんでしょうか =INDIRECT(TEXT(A3,"m""月""")&"!J67:K67",1) がおそらくほしいもの
=VStack('1月:12月'!J67:K67) でもいいかもしれない
(ちくわ) 2026/09/08(火) 22:37:13
通じなかったですか?
> VLOOKUP関数の第一引数を、日付型から文字列に変換したものを入れることによって、 > どちらもキー項目を文字列に統一したうえで、VLOOKUP関数を使えばよいでしょう。
別のシートの集計値を表示したいセルに =IFERROR(VLOOKUP(TEXT(検索値のセル,"m""月"""), 集計シート!$A$4:$C$15, 2(または3), False),"") とします。 "検索値のセル"とは、日付型のデータが入ったセルのことです。
# INDIRECTの使用と、VLOOKUP関数の検索成否は直接の関係はありません。 # 後者は、検索値と検索されるデータの型が一致していることがポイントです。 (xyz) 2026/09/09(水) 20:24:43
```> その際表示させたいシートのキーは見かけ上4月となっていますが日付(2026/4/1)という書式でデータ保持しています。 ※他のデータの識別用に日付データで保持しています。 そうなると、下記データのA列は文字列の4月、4月データシートは日付データになっているので、 VLOOUPU関数を 使っての表示は不可能になってきます。 ``` 見落としてました 集計シートの A列は文字列ですね 忘れてください シートタイトルには数値を入れられないので 日付データ云々は 4月のシート内の何らかのセルの値ということでしょうかね
若しくは4月のシート名が 2026/4/1 とか? でもキーって言っているけど >4月(B5セル)の関数はこんな感じです。 >=IF(ISERROR(INDIRECT($A5&"!J67",1)),"",INDIRECT($A5&"!J67",1)) ではシートの1セルしか見てないし ????
私の読解力では読み切れませんでした。無念 (ちくわ) 2026/09/10(木) 13:29:48
参考です。
A列の日付はユーザー定義で「m"月"」としています。
集計シート
|[A] |[B] |[C]
[1]| | |
[2]|[月別売上実績]| |
[3]|月 |件数|売上
[4]|3月 | 9|9,062,960
[5]|4月 | 6|4,971,510
[6]|5月 | 4|6,389,800
[7]|6月 | |
[8]|7月 | |
[9]| | |
B4=IF(INDIRECT(TEXT(A4,"m月") & "!j67")="","",INDIRECT(TEXT(A4,"m月") & "!j67"))
C4=IF(INDIRECT(TEXT(A4,"m月") & "!k67")="","",INDIRECT(TEXT(A4,"m月") & "!k67"))
シート名 3月
|[I]|[J]|[K] |[L]
[66]| | | |
[67]| | 9|9,062,960|
[68]| | | |
シート名 4月
|[I]|[J]|[K] |[L]
[66]| | | |
[67]| | 6|4,971,510|
[68]| | | |
シート名 5月
|[I]|[J]|[K] |[L]
[66]| | | |
[67]| | 6|4,971,510|
[68]| | | |
(参考2) 2026/09/10(木) 15:29:43
関連シートは3種類あると言うことなんでしょうね。
1.各シート(月別) 2.集計シート 3.別のシート(例えば4月データ)
質問は、「別のシートセル(例えば4月データ)」に、「集計シートのデータ」をVlookup関数で検索すること。
なので「集計シート」に書くべき数式の話ではないし(既に質問者自身がINDIRECT関数を使って解決している)、 「各シート(月別)」は、殆ど質問とは関係ない(現状を説明する為に言及しただけ)。
(半平太) 2026/09/10(木) 17:12:42
いちゃもん? って何ですか?
xyzさんが回答しているでしょう。 読まなかったんですか?
(半平太) 2026/09/10(木) 17:44:36
難癖付ける奴だな。
(参考2) 2026/09/10(木) 20:36:01
半平太さんのコメントは多分私の読解力への解説なので 参考2さんへのいちゃもんではないとと思いますよ
各シート (月別) 『集計』シート 月別データシート ってことですね読めてませんでした。
indirectでセルに出した値を再度参照できるのか? っていう質問だったってことですね。
スレ汚すだけなのは悪いので xyzさんの回答を表に
シート名:4月
| [J]| [K]|
[67]| 6| 4,971,510|
シート名:集計
| [A]| [B]| [C]|
[5]| 4月| 6|4,971,510|
B5=IF(ISERROR(INDIRECT($A5&"!J67",1)),"",INDIRECT($A5&"!J67",1)) C5=(略)
シート名: 4月データ
| [A]| [B]| [C]|
[5]| 2026/4/1| 6|4,971,510|
B5=IFERROR(VLOOKUP(TEXT(A5,"m月"), 集計!$A$4:$C$15, 2, False),"") C5=IFERROR(VLOOKUP(TEXT(A5,"m月"), 集計!$A$4:$C$15, 3, False),"")
(ちくわ) 2026/09/10(木) 22:17:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.