[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『カレンダーをつくりたいのですが』(すず)
データシートに下図の様にデータを入れ、暦シートに表示したいのですがご教授お願いします。 データシートのF、G列を暦シートの4の行 〃 H、I 〃 5の行 〃 J 〃 6の行に表示し年月を入力すると連動して変わるようにしたいのです。(データシートは2009〜2019まであります) (日付は=IF($B$1<>MONTH(DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+COLUMN(A1)+7*(ROW(A1)-1)),"",DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+COLUMN(A1)+7*(ROW(A1)-1))で入れています)
データシート
A B C D E F G H I J 年 月 日 曜日 干支 九星 旧暦 六輝 行 事 1 2009 1 1 木 丙午 一白 12/6 大安 元日 不成就日 十二月大 2 2 金 丁未 二黒 7 赤口 3 3 土 戊申 三碧 8 先勝 4 4 日 己酉 四緑 9 友引 上弦 5 5 月 庚戌 五黄 10 先負 6 6 火 辛亥 六白 11 仏滅 7 7 水 壬子 七赤 12 大安 八専始め 一粒万倍日 人日 8 8 木 癸丑 八白 13 赤口 9 9 金 甲寅 九紫 14 先勝 不成就日 10 10 土 乙卯 一白 15 友引 一粒万倍日 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 2019 12 4024 26 木 丁酉 七赤 朔 赤口 朔 十二月大 4025 27 金 戊戌 八白 2 先勝 4026 28 土 己亥 九紫 3 友引 一粒万倍日 4027 29 日 庚子 一白 4 先負 一粒万倍日 4028 30 月 辛丑 二黒 5 仏滅 4029 31 火 壬寅 三碧 6 大安 不成就日 三隣亡
暦シート
A B C D E F G 1 2009 1 2 日 月 火 水 木 金 土 3 1 2 3 4 丙午一白 丁未二黒 戊申三碧 5 1/6大安 7赤 口 8 先 勝 6 元日 7 4 5 6 7 8 9 10 8 9 10 11 11 12 13 14 15 16 17 12 13 14 15 18 19 20 21 22 23 24 16 17 18 19 25 26 27 28 29 30 31
暦シートの日付部分は、シリアル値に成っている様ですので データシートの日付部分(D列等)がシリアル値に成っているなら VLOOKUP関数などで参照できそうに思いますが どうでしょう?
(HANA)
では、データの状況をもっと詳しく正確に教えてください。
左端の数字は行番号だと思いますが データシートの1行目が2009/1/1から始まっていて 間に隙間なく日付が並んでいるなら4029行目は2020/1/12に なると思います。 ご説明では、2019/12/31になっていますが。
また、データシートのD列の日付のどこかのセルをアクティブにした時 数式バーには何がどのように表示されていますか?
簡単な例を載せておきます。 [A] [B] [C] [D] [E] [1] 【表】 [2] 年月日 干支 日付 干支 [3] 2009/1/1 丙午 2009/1/5 庚戌 [4] 2009/1/2 丁未 ↑=VLOOKUP(D3,$A$3:$B$12,2,FALSE) [5] 2009/1/3 戊申 [6] 2009/1/4 己酉 [7] 2009/1/5 庚戌 [8] 2009/1/6 辛亥 [9] 2009/1/7 壬子 [10] 2009/1/8 癸丑 [11] 2009/1/9 甲寅 [12] 2009/1/10 乙卯 A:B列に対応表があります。 A列の日付は 数式バーに 2009/1/1 と表示されるように入力します。
E3セルに =VLOOKUP(D3,$A$3:$B$12,2,FALSE) の式を入れます。
D3セルに A1:A12 のいずれかの日付を入力すると 対応する、B列の値が表示されます。
(HANA)
HANAさん説明不足で申し訳ありません。ご指摘のとおり4029行目は2020/1/12になります。 データシートのD列の2009年1月1日もセルをアクティブにした時数式バーには2009/1/1と表示されます。
でしたら、データシートのD列はシリアル値になっている様です。 暦シートの日付のセルもシリアル値で入っている様ですので 問題なくマッチング出来ると思います。
上でVLOOKUP関数の具体的な数式を載せています。 エラー処理を含めると 先ほど載せた式は =IF(D3="","",VLOOKUP(D3,$A$3:$B$12,2,FALSE)) と書いておけばよかったですね。。。
参考に干支を表示させる関数を作成してみてください。
こちらもご参考に。 https://www.excel.studio-kazu.jp/func/vlookup.html ライブラリより「VLOOKUP」
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.