- ベストアンサー
年月日の数字をバラして計算出来ますか?(エクセル)
ご覧頂いてありがとうございます。早速ですが下記の計算が可能かよろしくお願いします。 ・誕生日を入力して、それぞれの個々の数字を合計したい。 例…1980/10/10とセルに入力して (1+9+8+0+10+10=)38という答えがほしい ちょっと説明が下手で申し訳ないのですが、占いなどでよく使う、生年月日とすべて足して出た数字で運勢を見るというやつです。 今はいちいち千の位、百の位と別セルに入力して計算しています。 どうしても2度手間になってしまうので何か良い方法が無いでしょうか?よろしくお願いします。 エクセルは2003です。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
A1セルに日付データが入っているとして、 A2=LEFTB(RIGHTB(YEAR($A$1),2),1)+RIGHTB(YEAR($A$1),1)+MONTH($A$1)+DAY($A$1) ではいかがでしょう?
その他の回答 (6)
- dejiji-
- ベストアンサー率38% (327/858)
No3です。 0の意味・・・テキストデータの表示形式です。 セルの書式設定から表示形式でユーザー定義を見てください。ここにある表示形式を指定できます。(G/標準は使えません。)0は数値を表しています。 他の方のやり方が簡単で良いようですね。
お礼
ご回答ありがとうございます。 教えていただいた式は今回のセルには使わなかったのですが、他のところでTEXTの使い方がすごく役に立ちました! ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
#4です。 >VBE(というものでしょうか?)という時点でさっぱりわかりません。 下記の操作をやってみてください。 ワークシート画面で、下記のメニュを順次クリック ツール マクロ VBE VBEの画面になります。そのメニューの 挿入 標準モジュールを順次クリックすると 白紙的な画面が出ます。ここに下記をコピーして貼りつける。 これでエクセルには、そのブックを使っている間は =ketaadd(セル)と言う関数があると思えば良いのです。 =ADD()関数だって、中でどういうプログラムになっているか、誰も知りません。しかしみんなが使ってます。 それと同じです。 作れるようになるのは、別と考えましょう。
お礼
ありがとうございました。 やっぱり?????ですが、使う事は出来ました。 関数を自分で作れるっていうことも初めて知りました。 できれば、簡単なものでも作れるようになりたいです。 丁寧な回答ありがとうございました。
- mshr1962
- ベストアンサー率39% (7417/18945)
月と日はそのままなのでMONTH関数とDAY関数で計算 年のみばらして計算ということですか? =SUM(MID(YEAR(A1),{1,2,3,4},1)*1)+MONTH(A1)+DAY(A1) 上記で計算できます。
お礼
ご回答ありがとうございます。 シンプルで解りやすくてとてもありがたいです。 ありがとうございました!!
- imogasi
- ベストアンサー率27% (4737/17069)
ユーザー関数を作ります。 ツール-マクロ-VBE-挿入-標準モジュールの画面に 下記を貼りつける。ketaaddは他の名前でも良い。 Function ketaadd(a) t = 0 For i = 1 To Len(a) t = t + Val(Mid(a, i, 1)) ketaadd = t Next i End Function そして A1に2004/10/1とあるとします。 B1に=ketaadd(TEXT(A1,"yyyymmdd")) と入れます。,"yyyymmdd"は/など文字を入れない。 答えは8です。 邦暦でするなら、A1が2004/2/3の場合 B1セルの式は=ketaadd(TEXT(A2,"eemmdd"))-->160203-->文字和12
お礼
ご回答ありがとうございます。 せっかく教えていただいたのですが、VBE(というものでしょうか?)という時点でさっぱりわかりません。 でも、勉強したいと思っているのでプリントアウトをしてゆっくりがんばってみます!! ありがとうございました!!
- dejiji-
- ベストアンサー率38% (327/858)
A1に日付があるとして、少し長いですが =MID((TEXT(YEAR($A$1),0)),1,1)+MID((TEXT(YEAR($A$1),0)),2,1)+MID((TEXT(YEAR($A$1),0)),3,1)+MID((TEXT(YEAR($A$1),0)),4,1)+TEXT(MONTH($A$1),0)+TEXT(DAY($A$1),0) これで38となります。 ただし、この式を入れるとセル書式が日付となるので、セル書式を標準に変えてください。
お礼
ご回答ありがとうございます。 MIDを使用すると開始場所を指定できるという事ですよね? 色々便利な関数があるんですね~ こちらも勉強になりましたありがとうございます。 お礼にまた質問をしてしまって申し訳ないのですが、textの使い方が良くわかりません。例えば(TEXT(YEAR($A$1),0)の最後の0が何を意味しているのか解りません。 もし、お時間があればご回答よろしくお願いします。 あほな私を許して下さい。
- marbin
- ベストアンサー率27% (636/2290)
#1です。 提示した数式は年部分を2桁で計算してました。 一部修正が必要です。 再度アップしますね。
お礼
早速のご回答ありがとうございます。 YEAR,MONTH,DAYというのを使えば良いのですね。 勉強になりました。 No.2でコメントいただいているようにこれだと28になっちゃいました。 自分でも考えてやってみます。 ありがとうございます。