新生活!引っ越してから困らないように注意すべきことは?>>

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

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

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

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

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

A 回答 (2件)

=IF(誕生日のセル="","",DATEDIF(誕生日のセル,TODAY(),"Y"))


のようにすればよいでしょう
    • good
    • 10
この回答へのお礼

ありがとうございます。
この式をこのままコピーして、セルを入れ込んだら
きれいに解決しました!

IFで「もしこのセルが空欄だったら空欄、(FALSE)⇒DATEDIF~」
となるんですね。

とても勉強になりました。
ありがとうございました!

お礼日時:2007/07/27 17:20

多分、DATEDIF関数の第2引数に当日を示す例えばTODAY()が設定されているからではないでしょうか。


一例ですが、誕生日セルや入社日セルが未入力の場合、=IF(誕生日セルや入社日セル<>"",DATEDIF数式,"")で空白にしてはどうでしょうか。
    • good
    • 0
この回答へのお礼

そうです!
まさにTODAYを使っていました!

きれいに解決しました!
ありがとうございました。

お礼日時:2007/07/27 17:14

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Q値が未入力時に式の結果を空欄(非表示)にしたい。

EXCEL2003を使っています。

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

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

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

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

Aベストアンサー

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

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

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

1910は適当に変えてください

Qエクセルでの年齢自動計算時の表示方法

すみません、教えてください。
エクセルで年齢を自動計算させているのですが、生年月日を未入力の欄の表示を空白か0にしたいのですが、どうしてもできません。

別途、データを添付していますので、おわかりになられる方がおられましたらご教授下さい。
宜しくお願いします。

Aベストアンサー

年齢の計算式がDATEDIFを使っているのであれば、
=IF(E2="","",DATEDIF(E2,TODAY(),"y")) 下方にオートフィル
生年月日のセルが空白のときは、空白とし、それ以外の場合年齢計算する。
生年月日以外が入力されたときは,エラーになります。!

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

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

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

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

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

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

宜しくお願いします。

Aベストアンサー

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

でどうでしょうか?

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エクセルで空欄の場合は計算しない方法

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

Aベストアンサー

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

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

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

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

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

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

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

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

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

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

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Q条件付き書式の空白の場合、空白でない場合について

あるセルに対して、下記2つの設定をしています。順番も下記の通りです。

1. セルの値 次の次の値に等しい ="" の場合、セル塗りつぶしなし(白)
2. セルの値 次の次の値に等しくない <>"" の場合、セル塗りつぶし赤

上記の条件であるとしかし、セルに文字を入力すると赤になりますが、
セル選択でデリートを行い、完全に空白としても、塗りつぶしなし(白)になりません。
塗りつぶしなしがいけないのかと他の色に変更しても同じでした。
私が想定したようにセル入力状態から空白状態に変えた場合に変更するようにするには
どうすれば良いでしょうか。よろしくお願いします。

Aベストアンサー

(1)質問文にお示しの 2 条件を両方とも削除、(2)設定したいセル範囲を選択した状態で条件付き書式のダイアログを開き「指定の値を…」をクリック、(3)「セルの値」と表示されているプルダウンを「空白なし」に変更した上で好きな色を設定

※「空白なし」とは「空白でないセル」の意味


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング