プロが教える店舗&オフィスのセキュリティ対策術

A1の列に年齢データが2万行くらい並んでいます。

年齢が入力されているセル内を、以下の条件で置き換えたいのですが、どのようにすればよいでしょうか?

年齢データが
10才~19才の場合⇒10代と置き換え
20才~29才の場合⇒20代と置き換え
30才~39歳の場合⇒30代と置き換え

IF関数かなと思ったのですが、上記の通り、条件も結果も複数ある場合のやり方がわかりませんでした。

ご指導をお願い致します。

A 回答 (7件)

IF文は複数組み合わせて使えます。


IF( A1 < 20 , 10 , IF( A1 < 30 , 20 , 30))
こんな感じで・・
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。

勉強になりました。活用してみます。ありがとうございました!

お礼日時:2006/06/17 22:42

数字だけに関してであれば、



=ROUNDDOWN(A1/10,0)*10
10で割った商の少数を切り捨てて、10倍する

これでどうでしょうか
    • good
    • 0
この回答へのお礼

お礼が遅くなり、大変申し訳ありません。

このような方法もあるのですね。勉強になりました。
どうもありがとうございました。

お礼日時:2006/06/17 22:43

>年齢データが2万行くらい


>以下の条件で置き換えたい
2万近く有る年齢のデータが入っているセル内に
上書きしても良いという意味でしょうか?
年齢は、残しておいても良いような。
別列に
=INT( 年齢の入ったセル/10)*10 &"代"
と数式入力すれば?
    • good
    • 0
この回答へのお礼

お礼が遅くなり、大変申し訳ありません。

調べてもなかなか分からなかったのに、早く解決できて、大変ありがたく感じています。

どうもありがとうございました。

お礼日時:2006/06/17 22:45

年齢が数値で入力されていて年代を数値で返したいなら、



=int(A1/10)*10

なんですよ。if関数なんて使いません。問題は、新しい列を作るん
じゃなくて「置き換え」たいってところですね。VBAで延々とループ
を回すんでない限り、一旦新しい列を作って計算させてから「コ
ピー→形式を選択してペースト→値」という流れになります。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ありませんでした。

助かりました。どうもありがとうございました。

お礼日時:2006/06/17 22:46

B1=INT(A1/10)&"0代"


で下方にコピー
    • good
    • 17
この回答へのお礼

お礼が遅くなり、大変申し訳ありません。

調べてもなかなか分からなかった事を、たった2行で簡潔に教えていただけ、すぐ解決できたことを感謝します。

この式を使わせていただき、仕事がすぐ終わりました。

ありがとうございます!

お礼日時:2006/06/17 22:48

Vlookup関数をつかったらどうでしょうか?


別シートにたとえば

   A列  B列
1行  0 幼児
2  10 10代
3  20 20代
4  30 30代
5  40 40代
6  50 50代
7  60 60代
8 70 70代
9 80 80代
10 90 90代

のような参照表を作成しておき、年齢の入った一覧表がSheet1のA列にはいってるとしたならば、
=VLOOKUP(A1,Sheet2!$A$1:$B$10,2,TRUE)
と関数をいれます。
    • good
    • 1
この回答へのお礼

お礼が遅くなり、申し訳ありません。

勉強になりました。今度から使えるように覚えたいと思います。

ありがとうございました。

お礼日時:2006/06/17 22:51

この質問の答えとして、お勧めはVLOOKUP関数(True型)です。


既に回答が出たので、
別解としてMATCH関数関数を使う例を上げます。
F1:G11に
0子供
1010代
2020代
3030代
4040代
5050代
6060代
7070代
8080代
9090代
100長寿
を作ります。
A列に年齢が入るとして、
B1に
=INDEX($G$1:$G$11,MATCH(A1,$F$1:$F$11,1),1)
MATCH関数の第3引数1がポイントです。解説書を読んでください。
と入れて下方向に式を複写してください。
IFは段階が増えると式が長くなり、各期がしませんし、INTなどはルールが整然としていないと使えません。IF文は早く卒業してください。
    • good
    • 0
この回答へのお礼

お礼が遅くなり、申し訳ありません。

MATCH関数は使ったことがありませんでしたが、勉強してみます。

ありがとうございました。

お礼日時:2006/06/17 22:53

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

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