『論理式で、日付と文字列を分岐させた日付表示について』(ピグレット) B列、D列、F列に、日付か文字列が入っています。 日付の場合は日付を、文字列の場合は文字列をA列に表示させたいです。     A列    B列   C列    D列    E列    F列 1行  りんご  りんご 2行  1月4日             1月4日 3行                          4行  5月5日                          5月5日  以前こちらでご教示頂きました日付表示の方法として、 シリアル値はMAX関数で、ユーザー設定で m"月"d"日";; で表示にならい、 下記の式をA列に作成してみたのですが、 =IF(OR(B1<>"",D1<>"",F1<>""),B1&D1&F1,MAX(B1,D1,F1)) この式だと、文字列は問題なく表示されますが、 日付が「1月4日」ではなく、シリアル値42008のままで表示されてしまいます。 ひとつの式の中で、文字列と数字を扱っているのがいけないのでしょうか? < 使用 Excel:Excel2007、使用 OS:Windows7 > ---- まず、日付が表示されているどこかのセルの書式をコピーして、A1セルに貼り付ける。 次にA1セルに下式を入力後、下方へコピーする。 A1セル =IF(MAX(B1,D1,F1),MAX(B1,D1,F1),B1&D1&F1) ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー >=IF(OR(B1<>"",D1<>"",F1<>""),B1&D1&F1,MAX(B1,D1,F1)) >この式だと、文字列は問題なく表示されますが、 > 日付が「1月4日」ではなく、シリアル値42008のままで表示されてしまいます。 >ひとつの式の中で、文字列と数字を扱っているのがいけないのでしょうか? その数式は、何かが入力されていたら、 全て(シリアル値でも)文字として処理する数式です。 なので、日付になり得ないです。 何も入力されていなければ、MAX関数(シリアル値となるもの)が生きますけど、 何もないので結果はゼロ(0、1月0日)にしかならないです。 それは望むものではないハズ。 (半平太) 2015/07/30(木) 07:34 ================================ 半平太さん MAX関数が生きているけど、シリアル値が私の式では文字扱いなんですね。 お陰さまでスッキリ解決できました。ありがとうございます。 (ピグレット) ---- 前回は日付が2ヶ所に入ることもある、ということだったけど、 今回は3つのセルの、どれか1つにしか入力しないということ? だとして A1 =IFERROR((B1&D1&F1)*1,B1&D1&F1)  表示形式「日付」   > 日付の場合は日付を   「7月31日」のような表示にさえなれば文字列でもいいのなら A1 =TEXT(B1&D1&F1,"m月d日")  表示形式「標準」 ただし「*1」とかすると数値化してしまう文字列がある場合はどちらもノーグッド。 例えば文字列の「7-31」のような。 参考まで。 (笑) 2015/07/31(金) 20:53 ---- 笑さんへ 気にかけて頂いてありがとうございます。 実際には日付や文字列が入る可能性のあるセルは複数あり、 if節で分岐し、笑さんに教えて頂いた表示形式とMAX関数で対処していたのですが、 式が長く複雑になりすぎたので、汎用性のあるシンプルなものに作り変えました。 (エラー値が出たものは、逆に入力ミスだとわかるのもアリかなと考えて) そういった意味で、笑さんに今回新たにご教示頂いた参考式も私の希望する式でした(^^) (日付の計算をするわけではないので、文字列でOK) 解決済みの問いにまでフォローして頂いていることに、本当に感謝です。 ちなみに質問が前後して申し訳ないのですが、前回教えて頂いた表示形式「m"月"d"日";;」の「;;」の部分は何を表すのでしょうか? 前回教えて頂いて、結果はばちっり表示されたものの、後で「;;」について調べてみたんですが、ヒットしなかったのでずっと気になっていました。 (ピグレット) 2015/08/03(月) 01:56 ---- http://homepage3.nifty.com/gakuyu/excel/userdefined_ex.html#3 ここの (3)表示形式の構造 あたりが参考になりますか? (β) 2015/08/03(月) 06:28 ---- βさんへ 参考ありがとうございます。 「;;」の部分は、負の数の書式と、ゼロの書式のセクションを省略という意味なんですね。 自分でも表示設定の同じサイトを見てはいたのですが、;;をセクションの省略というところまでは見落としていました。慣れてないので難しく感じますが、表示形式の構造を理解すれば、すごく便利そうですね。勉強します。 (ピグレット) 2015/08/03(月) 10:06