[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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)さん 教えてください。
=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)
これからもいろいろ教えて下さい。(masabou5)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.