ここから質問投稿すると、最大10000ポイント当たる!!!! >>

EXCEL2003を使っています。

満年齢の表示リストを作っています。

A1のセルに生年月日を入れ、B1のセルに「=DATEDIF(A1,TODAY(),"y")」の式を入れました。

最終セルがB10としてBのすべてのセルには式を入れ、AのセルにはA5までしか値を入れなかった場合、B5までは数字(年齢)が表示されたのですがB6~B10まではなぜか【108】という表示がされます。

式を残したままこれを空白もしくは、非表示にする方法を教えてください。

A 回答 (4件)

A1セルが空欄の場合 1900年と見なされますので 108年になりますね



A1セルが 1910(年)以下ならば空欄にするように

=IF(A1>1910,DATEDIF(A1,TODAY(),"y"),"")

1910は適当に変えてください
    • good
    • 0
この回答へのお礼

即答の回答ありがとうございました。
1900年とみなされるのは知りませんでした。
ありがとうございました。

お礼日時:2008/02/22 09:52

こんなのもあります。


=IF(ISBLANK(A1),"",DATEDIF(A1,TODAY(),"y"))
B2からはコピーして下さい
    • good
    • 0
この回答へのお礼

きれいに表示されました。
ありがとうございました。

お礼日時:2008/02/22 09:59

2004/2/29___0 <--- =DATEDIF(A1, "2005/02/28","y")


2004/2/29___1 <--- =GetAge(A2, "2005/02/28")

Public Function GetAge(ByVal Birthday As Date, ByVal Hiduke As Date) As Integer
  If Birthday = CDate("0:00:00") Then
    GetAge = 0
  Else
    GetAge = DateDiff("yyyy", Birthday, Hiduke) + _
           (Format(Birthday - 1, "mm/dd") > Format(Hiduke, "mm/dd"))
  End If
End Function

このように、少し年齢計算の結果に差が出ています。
ここんとこをどう考えるかで多少式も変わると思います。
    • good
    • 0
この回答へのお礼

貴重な意見をありがとうございました。
うるう年の問題ですね。
そこまで難しく考えていませんでした。
細かい説明、ありがとうございました。

お礼日時:2008/02/22 09:55

=if(A1="","",DATEDIF(A1,TODAY(),"y")という式をB1にいれて、B2~B10にコピーすれば、Aの欄が空白なら、何も表示されません。

    • good
    • 0
この回答へのお礼

即答の回答ありがとうございました。
教えていただいた式で解決できたのですが、同時にエラーも出てしまいました。
エラーを無視することで解決でき、問題はなかったですが(苦笑)。
ありがとうございました。

お礼日時:2008/02/22 09:50

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル 「DATEDIF」使用時、空欄なのに170表示に

エクセル初心者です。
社員の情報をまとめる表を作りました。
社員の 誕生日から満年齢、入社日から勤務年数を割り出すために
「DATEDIF」を使って、計算は成功しました。

今後引き続きこの表を使っていくために
(新入社員が入ってきたら追加で入力できるように)
下のほうに白い欄をいくつか設けて、入力書式や式を
引き続き使えるように「Ctrl+D」でコピーしたのですが、

満年齢と勤務年数の値が(誕生日や入社日が空欄なのに)
勝手に170と出てしまっています。なぜでしょうか?

この後ピボットテーブルとやらで社員の人数やら
平均年齢やらを割り出したいのに、空欄に170と数字が
入っていては都合が悪いです。
誕生日や入社日が空欄だったときは、満年齢や勤務年数の
欄は空欄、あるいはゼロにしたいのですが、
どうしたらいいでしょうか。
どうぞよろしくお願いします。

Aベストアンサー

=IF(誕生日のセル="","",DATEDIF(誕生日のセル,TODAY(),"Y"))
のようにすればよいでしょう

Qエクセルで空欄の場合は計算しない方法

A1をA2から引いて答えをA3に入るようにしました。
A1には必ず数字が入るのですがA2は確定したら数字を入れます。
A3の合計を出したいのですがA2に何も記入していない場合0と判断され計算されるので、合計が合いません。
A2に数字を入れて初めて計算されるようにするにはどうしたらいいでしょうか?

Aベストアンサー

セルの中身が空白かどうかチェックするISBLANKという関数があります。

=IF(ISBLANK(A2),"",A1+A2)

こうすれば、A2がブランクの時、この式は長さゼロの文字列を返します。

Q日付が未入力の際はゼロか、空白にしたい

表題のとおりです。

シート1の、あるセル(B1とします)そこには、たとえば2/10と入力すれば
2010/2/10と表示されるように書式設定がなっております。
そして、シート2のあるセルには =Sheet1!B1 というように、シート1のB1セルの
イコールとなっております。

しかし、そのシート1のB1セルに何も記入されなかった場合
シート2の方にはなぜか「1990/1/0」と表示されてしまいます。

シート1のB1に何も入力されなかった場合はシート2をゼロか
もしくは、何も表示させないようにしたいのですが
どのようにしたらよいのでしょうか?

Aベストアンサー

=Sheet1!B1

=IF(Sheet1!B1="","",Sheet1!B1)

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Q【エクセル】指定したセルに入力することで、別の特定のセルに決まった文字を表示させるには?

社用データを作る際の手間を省こうとしたのに、かえって難しくなってしまいました(-"-;)
分かりにくい質問で恐縮ですが、よろしくお願いします。

現在Excel2003を使っています。
「指定したセルに文字・数字問わず入力があった場合、特定のセルに特定の文字を表示させる数式(または方法)」は無いでしょうか。
(できれば指定したセルに入力が無い限り、特定文字を表示させるセルは非表示のままにしたいと思っています)

例えば、「A1のセルに『○田×男(人名など)』と入力した時、B1のセルに『様』と表記させる」と言った具合です。
(このとき、A1に入力が無ければB1も空白のままにしておきたいのです)

手動で入力した方が早そうな気もしますが、応用次第で他の表や作業もスッキリしそうなので、手があれば是非ご教授下さい。

Aベストアンサー

間違えました。

B1 に
=IF(A1="","","様")

でした。

Qエクセルで空白セル”” と未入力セルの違い

関数で セルA1 に=if(B1=0,"","入力済")
としました。
セルの選択を素早くするためにショートカットキー「Ctrl+↓」を
利用しています。
通常の未入力空白セルは上記のショートカットで飛ばされて選択
されません。
これに対して上記関数で ""  として入力されたものを
コピーして値だけを貼り付けたとしても
上記ショートカットキーで飛ばされず選択されてしまいます。
見た目は 全く同じ 空白セルです。(関数も値貼り付けをしているので消えています。)
未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。
また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。もちろんDeleteKeyを使って未入力の空白セルに
戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。
おわかりの方お教えください。

Aベストアンサー

>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。

未入力の空白セルは「ISBLANK関数」で「真」を返します。

一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。

>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。

>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショートカットキーでとばせるメリットがなくなります。関数で大量に処理したいのです。

つまり「セルを1つづつ選択してDeleteキーで1つづつ空白セルに戻すのが面倒」なので「全部を一気に空白セルに戻す良い方法は無いか?」と言う事ですね?

だったら簡単です。

すべての式を
=if(B1=0,"","入力済")
ではなく
=if(B1=0,1/0,"入力済")
にしておきましょう。

すると、未入力の所は、空白("")にならず「#DIV/0!」になります。

そう表示されたら、シート全体を選択し「CTRL+G」を押して「ジャンプ」を出します。

「ジャンプ」のダイアログが出たら「セル選択」を押し、セル選択のダイアログを出します。

セル選択のダイアログが出たら「数式」を選び、その下のチェックは「エラー値」だけにします。

「OK」を押してダイアログを閉じると「#DIV/0!」の表示になったセルのみが選択状態になります。

「#DIV/0!」の表示になったセルのみが選択状態になったら、Deleteキーを押して、それらのセルを一気に「空白セル」にして下さい。

もちろん、大量にあっても、手順は変わりません。

>未入力の空白セルと 関数で""と入力されて値貼り付けを受けたセルではどこが違うのでしょうか。

未入力の空白セルは「ISBLANK関数」で「真」を返します。

一方、値としての""が貼り付けられたセルは「ISBLANK関数」で「偽」を返します。

>また、未入力の空白セルに 戻すには関数でどのように入力させればいいのでしょうか。
不可能です。「式」は「値」を返すので「空白セル」と言う「状態」を返す事は出来ません。

>もちろんDeleteKeyを使って未入力の空白セルに
>戻るのですがそれではショ...続きを読む

Qエクセル 0や空白のセルをグラフに反映させない方法

以下の点でどなたかお教えください。

H18.1~H20.12までの毎月の売上高を表に記載し、その表を元にグラフを作成しています。グラフに反映させる表の範囲はH18.1~H20.12の全てです。
そのためまだ経過していない期間のセルが空白になり、そこがグラフに反映され見づらくなります。
データを入力する都度グラフの範囲を変更すればいいのですが、うまく算式や設定等で空白や0円となっているセルをグラフに反映させない方法はありますか?

お手数ですが、よろしくお願いいたします。

Aベストアンサー

売上高のセルは数式で求められているのですよね?
それなら
=IF(現在の数式=0,NA(),現在の数式)
としてみてください。
つまり、0の場合はN/Aエラーにしてしまうんです。N/Aエラーはグラフに反映されません。

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。


人気Q&Aランキング