重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

各年の1月1日時点のデータを抽出するにはどのような関数を組めばよいでしょうか。

元データ
A列       B列
1966年1月1日 8.40
1966年10月1日 8.20
1970年4月1日 8.50
1971年9月1日 8.20
1972年4月1日 8.00
1972年8月1日 7.70
1973年5月1日 8.00
1973年8月1日 8.30
1973年10月1日 8.60
1974年1月4日 9.40
1974年10月1日 9.90
1975年8月1日 9.70
……
みたいな感じです。
元が長期金利のデータで、切り替わる日付はランダムです。1日付で切り替わることが多いですが例外もあります。

A 回答 (2件)

fujillinさんの回答は、スピル機能を活用して、年号と金利を一つの数式で同時に表示するという極めて高度なものです。


通常は年号だけは予め表示させておき、それに対応する金利のみを数式で表示する方法が一般的です。
そこで、そのような考え方で旧バージョンでも使える数式を投稿します。

添付画像をご覧ください。
予め年号を表示するため、D1セルに「1966/1/1」という日付を入力し、さらにD2セルに「1967/1/1」という日付を入力します。
D1、D2を選択した状態で、フィルハンドルを掴んで下方向へ、金利データのある最終日の翌年である「1976/1/1」が出現するまでコピーします。
D列を選択し、セルの書式設定で表示形式をユーザー定義で「yyyy"年"」とします。E1セルに金利を表示するため

=VLOOKUP(D1,A:B,2,1)

という極めて簡潔な数式を入れて、1976年が表示されている行まで、下方向へコピーします。
これで添付画像のような表が完成します。
「Excelで、日付と数量からなるデータの」の回答画像2
    • good
    • 0

こんばんは



どのような結果が欲しいのかご提示がなく不明なので、イマイチよくわかりませんけれど、勝手に妄想してみました。
違っている場合はスルーしてください。


添付図では、A、B列にご提示のデータがある状態で、E1セルに
=LET(y,ROW(A1:A15)+1965,HSTACK(y&"年",MAP(DATE(y,1,1),LAMBDA(d,VLOOKUP(d,FILTER(A:B,A:A<>"",{0,0}),2,1)))))
の式を入力してあります。

※ A列の日付はシリアル値(=エクセルの日付型の値)であるものと
  仮定しています。
※ 何年分を表示するのか不明なので、仮に1966年から15年分としました。
  1976年以降はデータがないので、最後の9.70のまま続きます。
※ 上式は、スピル機能が使えるExcelバージョンを想定しています。
「Excelで、日付と数量からなるデータの」の回答画像1
    • good
    • 0
この回答へのお礼

無駄な関数使っててだるいのでスルーしますね♪

お礼日時:2024/12/29 18:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A