• ベストアンサー

エクセル 式の書き方

1月~12月のシートがあり、その各シートに日毎の各データが入ってる状態です。(B列1日、C列2日・・・、) そこで新しいシート内で、今日の日付のデータを表示したいのです。11月30日だと11月シート内の30日の列の特定の行の値を表示するだけです。 today(),manth(a1),day(a1)なんかをつかっていくのかと思うのですが、月シート、日(列)の指定の仕方が分かりません。 詳しい方よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#79209
noname#79209
回答No.4

これでもOKですね。 =INDIRECT(ADDRESS(2,DAY(TODAY()),1,TRUE,MONTH(TODAY())&"月"),) #3の回答で、以下を変更します 誤: どれにしても、INDIRECT関数でシート名を含んだセル参照を作り出さなくてならないので、同じでしょう。 正: どれにしても、ADDRESS関数でシート名を含んだセル参照を作り出さなくてならないので、同じでしょう。

opoon
質問者

お礼

ありがとうございました!

その他の回答 (3)

noname#79209
noname#79209
回答No.3

INDIRECT関数なら、 =INDIRECT(MONTH(TODAY())&"月!R2C"&DAY(TODAY()),FALSE) 他にもINDEX関数やOFFSET関数が使えますが、 どれにしても、INDIRECT関数でシート名を含んだセル参照を作り出さなくてならないので、同じでしょう。

noname#79209
noname#79209
回答No.2

#1です。 データの参照には、INDEX関数、INDIRECT関数、OFFSET関数など方法はいろいろ有ります。 あと、参照するセルは1箇所だけなのかどうか、数式を入れた後、コピーしやすくしておくかどうかなど、 作成者はあとあとを考えて工夫しますから、「これしかない!」という回答は少ないです。

opoon
質問者

補足

↓失礼しました、シート名は 半角数字+月 です。

noname#79209
noname#79209
回答No.1

シート名のフォーマットが解らないですね。 「Sheet1」~「Sheet12」なのか「1月」~「12月」か「1月」~「12月」なんでしょうか? シート名の月部分が半角数字なら「=MONTH(TODAY())」で取り出せますから、 「"Sheet"&MONTH(TODAY())」で「Sheet11」と組み立てられます。 「11月」と全角数字なら、「JIS(MONTH(TODAY()))&"月"」で組み立てられます。 日にちの列番号は、「DAY(TODAY())+1」で取り出せますが、 データを参照するために使用する関数やパラメータによって変わってきますから一概には言えません。 また、何行目のデータを参照するのかも書かれていません。 具体的な設定を書かないと、回答者毎に好きな行番号やシート名を使いますから、質問者さん自身が読み替えに苦労します。

opoon
質問者

補足

ご回答有難うございます!データが多いのであえて書かなかったのですが、それでは簡略化して書きますと、 まずシート名は1月~12月です。 シート内は   A   B   C 1|  1   2   3    (日にち) 2| 8   4   2     (データ) こんな感じだとして、新シート内に 今日の(12月1日)データ(8)を表示する式の書き方を教えてください。もちろん明日になれば[4]が表示するような感じです。(リアルタイムでなくファイルを開いた日にちでOKです) よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう