- ベストアンサー
エクセルのセルの内容を別の場所でカテゴリーに分類する
以下の二つのケースが関数などを用いて可能であれば、その方法を教えてください。 1、Aの列に年齢を入力する場合 sheet1のA列に年齢を入力するとき、それをsheet2で「65歳以上」と「65歳未満」に分類します。 具体的には、sheet1のA1に70と入力したとき、sheet2のA1に「65歳以上」、sheet1のA2に20と入力したとき、sheet2のA2に「65歳未満」、と自動的に入力。 2、Bの列に文字を入力する場合 sheet1のB列にA、B、C、D、Eの5文字のいずれかを入力します。そのときsheet1にA、B、Cのいずれかが入力されたときは、sheet2の対応するB列に「F」と、sheet1のB列にD、Eのいずれかが入力されたときは、sheet2の対応するB列に「G」と自動的に入力。sheet1に、このA~E以外が入力された時は、sheet2の対応するB列に「その他」と入力。 以上のことが可能でしょうか。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Sheet2のA1: =IF(COUNT(Sheet1!A1),IF(Sheet1!A1>=65,"65歳以上","65歳未満"),"") Sheet2のB1: =IF(COUNTA(Sheet1!B1),IF(NOT(ISNA(MATCH(Sheet1!B1,{"a","b","c"},0))),"A",IF(NOT(ISNA(MATCH(Sheet1!B1,{"d","e"},0))),"G","その他")),"") として、両セルを必要分下方コピーでは?
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
IF関数での解答が出るのではと思ったがでていますが、 これらは1,2とも統一的にVLOOKUP関数で出来ます。 ただ1はTRUE型、2はFALSE型を使います。 1、Sheet1のA列に年令を入れる。 Sheet1のD1:E2に 0 65才未満 65 66才以上 を作る。 Sheet2のA1に=VLOOKUP(Sheet1!A1,Sheet1!$D$1:$E$2,2,TRUE)を入れる。 A2以下に式を複写する。 Sheet2の式複写で、Sheet1の対応するセルに年令入力がないと、65才未満の表示が出てしまうが =IF(Sheet1!A1="","",VLOOKUP(Sheet1!A1,Sheet1!$D$1:$E$2,2,TRUE)) にすれば防げる。 2.A列にA-Fまでを入れるとする。 D1:E6に A F B F C F D G E G F その他 を作る。 Sheet2のA1に =IF(Sheet1!A1="","",VLOOKUP(Sheet1!A1,Sheet1!$D$1:$E$6,2,FALSE)) と入れて下方向へ式を複写する。 F以下が沢山あるときは、表をそれだけ増やすか、またはIF文でFより大であれば「その他」を入れる式にする。 =IF(Sheet1!A1="","",IF(Sheet1!A1>="F","その他",VLOOKUP(Sheet1!A1,Sheet1!$D$1:$E$6,2,FALSE)))
お礼
ありがとうございました。 いろいろな方法があるものだと参考になりました。
- fukkyse
- ベストアンサー率32% (130/402)
1) =IF(Sheet1!A1<65,"65歳未満","65歳以上") 2) =IF(OR(Sheet1!B1="D",Sheet1!B1="E",),"G",IF(OR(Sheet1!B1="A",Sheet1!B1="B",Sheet1!B1="C"),"F","その他"))
お礼
ご回答ありがとうございました。 ただこの式だと、空白のセルでもsheet2に入力されてしまうようです。
- dacapo
- ベストアンサー率24% (9/37)
可能です。 if関数を使えば出来ると思いますが… 例えばsheet1のB列にAが入っている場合は if(sheet1!b1=A,"G","") こんな感じではどうでしょう? sheet1!b1にAが入っている時にGを表示させそれ以外は空白にする。と言う意味です。これをsheet2の対応するB列に入れればOKです。複数の場合は if(sheet1!b1=A,"G",if(sheet1!b1=B,"D","")) こんな感じで増やしていけばOKです。
お礼
ご回答ありがとうございました。
お礼
完璧です。式の意味がよくわからないので、勉強します。