[[20160929204453]] 『VBAの構文をexcelの関数に』(109) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAの構文をexcelの関数に』(109)

下記のVBA構文を、EXCELの関数に書き換えたいのですが

=MOD((BirthYear-4)*5+INT((BirthYear-1)/4)+ReferenceValue+BirthDay,60)

< 使用 Excel:unknown、使用 OS:Windows7 >


こんにちは。
十分にExcel関数のような気がしますが・・・。
VBA構文というなら、少なくともMOD演算子の書法はまちがっていますよ。
MODワークシート関数の書法のように思います。
 
もう少し目標を説明してもらえませんか。

(γ) 2016/09/29(木) 21:04


 自分で作ったコードですか?
 そうでしたらわからないはずないと思います。
 他人が作ったコードでしたら作った人に聞いてはいかがでしょう??

 ヘルプを見る、あるいはネットでキーワード検索するだけで解決する
 と思います。

 自分で手を動かした方がよっぽど解決が早いと思いますよ。
(カエムワセト) 2016/09/29(木) 21:05

 ここからコピペしたの?
http://crown-crown.com/2013/07/60%E7%A8%AE%E9%A1%9E%E3%81%AE%E5%8B%95%E7%89%A9%E5%8D%A0%E3%81%84%E3%81%AE%E5%88%A4%E5%AE%9A%E5%80%A4%E3%81%AE%E8%A8%88%E7%AE%97%E5%BC%8F
(bi) 2016/09/29(木) 21:08

(γ) さん、(カエムワセト)さん、(bi)さん、ありがとうございます。

このコードは、(bi)さんが、リンクしたページからですが、reference valueとう

のがよくわからず、VBAの構文かと思い、reference value というのを、

vlookup(検査値、範囲、列番号、検索方法の指定)に置き換えたのですが

うまくいきません。(#value)

=MOD((BirthYear+1)*5+INT(BirthYear/4)+ReferenceValue+BirthDay,60)


=MOD((A1+1)*5+INT(A1/4)+VLOOKUP(F1:H12,3,FALSE)+C1,60)

※C1生まれた日

つまり、例:1970年3月生まれなら、49(下記のreference valueから参照)を返してほしいのです。

検査値の範囲は、A1の生まれ年とA2生まれ月、参照範囲は、下記のとおりです。

F列 G列 H列

1970 1 15
1970 2 46
1970 3 49
1970 4 20
1970 5 29
1970 6 21
1970 7 51
1970 8 22
1970 9 53
1970 10 23
1970 11 54
1970 12 24

みなさまのお力お貸しください。よろしくお願いします。
(109) 2016/09/29(木) 22:19


 >=MOD((BirthYear-4)*5+INT((BirthYear-1)/4)+ReferenceValue+BirthDay,60)

 その式が、biさんご紹介のページのものだとすると、間違ってますよ。
 いや、引用した式がじゃなくて、元々の式がです。だって「60」が出てこないですから。

 60も出すには
   ↓
 B1セル =MOD((YEAR(A1)-4)*5+INT((YEAR(A1)-(MONTH(A1)<3))/4)+INDEX({15;46;49;20;29;21;51;22;53;23;54;24},MONTH(A1))+DAY(A1)-1,60)+1

<Sheet1 結果図>

 行  ____A____  _B_
  1  2016/1/1    19
  2  2016/1/2    20
  3  1970/3/1    52
  4  1970/3/2    53

 >vlookup(検査値、範囲、列番号、検索方法の指定)に置き換えたのですが 

 Vlookの代わりに、こんなのでもできます(上で使った方法。他にも方法はあります)
           ↓
 INDEX({15;46;49;20;29;21;51;22;53;23;54;24},MONTH(A1))

(半平太) 2016/09/29(木) 22:30


(半平太)さん ありがとうございます。

INDEXのほうが、かんたんですね。

ちなみに、ひとつの構文で、3月以前の数式と、以降の数式を

まとめることはできるのでしょうか。
(109) 2016/09/29(木) 23:53


 >ちなみに、ひとつの構文で、3月以前の数式と、以降の数式を 
 >まとめることはできるのでしょうか。

 既にまとめてありますよ。
        ここ
      _____↓_____
 (YEAR(A1)-(MONTH(A1)<3))/4
  

(半平太) 2016/09/30(金) 08:51


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.