質問1) セルA1 に 入力されたら A4に入力した時点の日付(例: 4月9日)を自動で出力したいのですがどうしたらよいでしょうか?

 A3には =A4,"",""A4 (こんな感じです。ハッキリ覚えていません IFがついてた?) で、A4に日付を入れると A3に今年の年が表示されます(例:平成23年)。

質問2) 質問1をすることによりA3はA4に自動出力された時に引き継がれるでしょうか?
     また、=A4,"",""A4 この意味を教えてもらえたら助かります。

     これを作ったか人が辞めたため、聞こうにも聞けません、宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

=A4,"",""A4



何でしょうね?
似たような形式でIFが付いてるとなると
=IF(A4="","",A4)
こう?でもこれじゃ=A4と同じ意味だし??

>セルA1 に 入力されたら A4に入力した時点の日付(例: 4月9日)を自動で出力したいのですがどうしたらよいでしょうか?

これも踏まえると
=IF(A1="","",A4)

計算式の意味:A1セルが空欄なら空欄、何かの入力があればA4の情報を表示

たぶんこれなんでしょうね
    • good
    • 0
この回答へのお礼

ありがとうございます。

思い出しました。
=IF(A4="","",A4)
これです。

何故これだけでA4に日付入れただけで A3に 平成23年とでるのか不思議です。
マクロでも入ってるのかもしれません。後日職場に行くので確認してみます。

お礼日時:2011/04/10 01:50

No.2.3です!


No.3をもう一度読み返してみると、ちゃんとした回答になっていないようですので・・・

セルの表示形式をユーザー定義で日付の設定をする場合、あくまで当方の個人的な解釈ですが、
g ← 元号の略・ e ←エンペラー(天皇)の略だと思って使っています。(間違っていたらごめんなさい)

仮にご自分の誕生日を西暦で入力しセルの表示形式でユーザー定義を色々変えてみてください。
(たとえば昭和50生まれとした場合)

e だけだと 50
ge だと   S50
gge だと  昭50
ggge だと  昭和50

のように表示されると思います。

世界にはイスラム教・儒教等々元号的なものがあるかもしれませんが、とりあえず日本国内でExcelの日付の表示形式に関しては[$-411]と入力しなくても使えるような感じです。
(Excelが勝手に[$-411]としてしまうこともあるようですが・・・)

この程度ですが参考にならなかったらごめんなさいね。m(__)m
    • good
    • 0

No.2です!


補足を読ませていただきました。
前回の数式は「空白以外」の場合のみで、空白の場合の数式を入れていませんでした。

尚、前回の「TEXT関数」使ってしまうと、A3セルの表示形式の変更だけでは対応できないと思いますので、
A4セルの表示形式はユーザー定義から
m月d日 としておいて、数式を
=IF(A1="","",TODAY())
または
=IF(A1<>"",TODAY(),"")
に訂正してください。

そしてA3セルの表示形式は、ユーザー定義から e年 として
=IF(A4="","",A4)
だけで大丈夫だと思います。

補足にある
>A3には表示形式が [$-411]e"年" となっていました。・・・
に関しては↓のURLの最後部分に

>[$-411]というのは「ロケール指定子」というもので、各種言語に対応しており、日本語が
16進数で0411になるようです。「日本語の」というような意味です

と書かれていますので参考にならないでしょうか?

http://www11.plala.or.jp/koma_Excel/contents1/ma …

実際角括弧の中はあまり考えなくても良いと思います。
(本来は必要なのかもしれませんが、当方はあまり意識していません)

参考になれば良いのですが・・・m(__)m
    • good
    • 0

こんばんは!


>質問1) セルA1 に 入力されたら A4に入力した時点の日付・・・

A1セルは通常は空白で、データを入力した時点での日付であれば関数で可能です。
もし、A1セルのデータが変わるたびにA4セルをその日の日付に変更したいのであればVBAになってしまいます。

仮に前者(A1セルは常に空白で何かを入力したときの日付)の場合は
A4セルに
=IF(A1<>"",TEXT(TODAY(),"m月d日"))
としてみてください。

そして 質問2)に関してはA3セルの数式は
=IF(A4="","",A4)
としていてセルの表示形式を変えているものと思われます。
そうであれば、数式の意味は
「もしA4セルが空白の場合は空白に!そうでなければA4セルの値を!」ということだと思います。

セルの表示形式に手を加えないようにする場合、A3セルの数式は
=IF(A4="","",TEXT(A4,"ggge年"))
としておけば大丈夫だと思います。

尚、質問1)に戻りますが、もしA1セルのデータが変わるたびにその日の日付をA4セルに表示したい場合はVBAになるといいましたので、とりあえずコードを載せておきます。

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので、
↓のコードをコピー&ペーストして、A1セルのデータを変更してみてください。
(今日の日付ですので見た目には変化ないように思われます)

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から
If Target = Range("A1") Then
With Range("A4")
.Value = Now()
.NumberFormatLocal = "m月d日"
End With
End If
End Sub 'この行まで

以上、長々と失礼しました。m(__)m

この回答への補足

A3には表示形式が [$-411]e"年" となっていました。
(例では 平成23年 と 書きましたが、23年 のみの表示でした) どういう意味なんでしょうか?

また、教えていただいたやり方(関数)でできそうなのですが、A1に入力が無い時にA4にFALSE が表示されてしまいます。これを出ないようにしたいのですができないでしょうか?

間違えていたのですが A3はC3 A4はD4でした。すみません。(これを行方向にコピーして使用します)

補足日時:2011/04/10 16:28
    • good
    • 0
この回答へのお礼

ありがとうございます。

なるほど、質問1)は<>を使えば空白でない時になるわけですね!

質問2)も理解できたような気がします。1年以上関数、VBAから離れてたもので、
ど忘れしていました(汗)・・・どちらにしても私には出来なかったと思いますが。。

 後日職場に行きますので確認してみます。

お礼日時:2011/04/10 01:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング