[[20040325151029]] 『4と入力して4月1日とするには』(masabou5) ページの最後に飛ぶ

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

 

『4と入力して4月1日とするには』(masabou5)

例えば4と入力して、日付の4月1日と認識させるにはどうしたらいいでしょうか?


 =IF(COUNT(A1),--(A1&"/1"),"")としておきますと、
 A1に月で、今年の一日日付が得られます。           (LOOKUP)

	A	B
1  月の数字	日付
2	4	4月1日

B2セルに  =DATEVALUE(A2&"月1日")  という式を入れたらいかがでしょうか。

 (DATE)

LOOKUPさん、DATEさん、ありがとうございました。
DATEさんの方法で実現出来ました。御礼申し上げます。(masabou5)


横からすみません。

(LOOKUP)さん 教えてください。

=IF(COUNT(A1),--(A1&"/1"),"")でキッチリと"4月1日"と表示できましたが

この数式の中での「COUNT」と「--」の持つ意味がわかりません。

すみませんが解説お願い出来ませんか。

当方エクセルの初心者ですので宜しくお願い致します。(SS)


 横から失礼します。
 COUNTはA1に数値が入っているか入っていないかの判別をしています。
 --の意味はA1に4と入れるのでA1&"/1"は"4/1"と言う文字列になります。
 その文字列を数値化する為に--をつけます。感じ的には
 -1*-1*4/1こんな感じです。
 他には*1や/1や+0や-0をすることにより答えを変化させずに数値化ができます。
 とことで
 >DATEさんの方法で実現出来ました。
 LOOKUPさんのは出来ませんか?(ケン)


(ケン)さん有難うございました。

文字列を数値化するのに「--」とか付ける方法があるのを全然知りませんでした。

今回のような場合、私は

 =DATEVALUE(IF(COUNT(A1),(A1&"/1"),"")) 

としていました。

(SS)


質問者のmasabou5 です。

LOOkUPさんの回答は意味が分からず、実行してみましたが、関数として認識されず、困っていたところ、

DATEさんの回答で出来ました。
すみません、LOOKUPさんの解説をお願いします。よろしくお願いします。


 説明は、ケンさんが、代行してくださいました。どうもありがとうございました。

 =--"4/1"は、=VALUE("4/1")と同じ意味です。
 "4/1"を数値に変換する意味です。シリアル値の38078を戻します。
 セルの書式設置、表示形式の分類で日付の3月4日としますと、4月1日と表示します。
 --"4/1"を今年の4月1日と判断してくれるのは、エクセル氏のご親切です。
 --"2004/4"も2004年4月1日と判断してくれます。セルに4/1や2004/4としても
 結果は、同じです。

 ツール、オプション、移行、計算方法を変更するとしますと、LOTUS方式で
 処理がされます。この方式の処理をみてみますと、
 =--(A1&"/1")は、#VALUE!となります。=--"1"や=-"ABC"は、0を戻します。

 ツール、オプション、移行、計算方法を変更するを元に戻しますと、
 =--(A1&"/1")は、38078。=--"1"は、1。=--"ABC"は、#VALUE!となります。
 エクセル氏のご親切が、よく理解できます。
 (もっとも、これは、エクセルユーザー側の偏見かもしれません。)

 関数自体の機能そのものですので、蛇足なのですが、それぞれの機能の相違です。
 1.=VALUE("4/1 12:00")や--"4/1 12:00"の戻り値は、38078.5。
 2.=DATEVALUE("4/1 12:00")は、38078を戻し、
 3.=TIMEVALUE("4/1 12:00")は、0.5を戻します。

 柄にもない僭越な書きこみでした。    (LOOKUP)

LOOKUPさん、分かりやすい解説、ありがとうございました。

これからもいろいろ教えて下さい。(masabou5)


コメント返信:

[ 一覧(最新更新順) ]


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