プロが教えるわが家の防犯対策術!

質問です。
エクセルで「もしA列に”B”があれば”B”、そうでなければ”C”、またA列に”~B(Bの前後に別の単語が付加している)”とあった場合は”X(ある単語)B”、”~C”とあれば”D”」というようなIF関数の書き方は出来ないのでしょうか。このあとピボットテーブルで集計したいのですが種類が多くなりすぎて面倒なのです。どなたかいい知恵をお貸しください。

A 回答 (3件)

列全体なら結果は一つでピボットテーブルは必要ないので、行単位として紹介します。


=IF(LEN(A2)=1,IF(A2="B","B","C"),IF(COUNTIF(A2,"*B*"),"XB",IF(COUNTIF(A2,"*C*"),"D","C")))

A2が"B"なら"B"
2桁以上でA2が"B"を含むなら"XB"
2桁以上でA2が"C"を含むなら"D"
それ以外は"C"
もし2桁以上で"B"を含まなければ"D"の場合は
=IF(LEN(A2)=1,IF(A2="B","B","C"),IF(COUNTIF(A2,"*B*"),"XB","D"))
    • good
    • 0
この回答へのお礼

ありがとうございます。わかりやすかったです。

お礼日時:2005/10/08 18:04

こんにちは。


#1 さんも触れていますが、私は、箇条書きにしました。

(1)
>エクセルで「もしA列に”B”があれば”B”、そうでなければ”C”、

(2)
>A列に”~B(Bの前後に別の単語が付加している)”とあった場合は”X(ある単語)B”、

(3)”~C”とあれば”D”
--たぶん、”~C”は、(Cの前後に別の単語が付加している)の意味とします。

(1)と(2) のロジックがヘンですね。
------------------------------
例:

(1)の条件
ABCDEF  B があるので、B
BCDEFG  B があるので、B

(2)の条件 (単語と文字とは違いますので、文字とします)

× ABCDEF  (1) の条件で使用済み

(3)
ABCDEF  C の前後に文字があるので、D

CDEFGH   どの条件にも満たない

となります。(2)の×の部分は、(1)の条件が間違いではないかと思います。もう一度、論理の組み立てをしたほうがよいのではないかと思います。
    • good
    • 0

(1)


>エクセルで「もしA列に”B”があれば”B”、そうでなければ”C”、
=IF(COUNTIF(A:A,"B")>=1,"B","C")
(2)
>A列に”~B(Bの前後に別の単語が付加している)”とあった場合は”X"
=IF(COUNTIF(A:A,"*B")>=1,"X","Y")
(3)
>”、”~C”とあれば”D
=IF(COUNTIF(A:A,"*C")>=1,"D","Z")
-------
(1)でA列に
Bがある
Bがない
のどちらかであるから、それで完結してしまい、(2)、(3)の入る余地がないが、独立した、別問題と考えてよいのか?
質問の表現は細心の注意を払って記述してほしい。
「またA列に”~B・・」の(Bの「また」の解釈はどうすれば良いのか。
>このあとピボットテーブルで集計したいのですが種類が多くなりすぎて面倒なのです。どなたかいい知恵をお貸しください。
大きな分類を作ればよい。たとえば県ごとのデータを関東地方という上位の分類コードを作るように。
そのためには
(1)関数
(2)VBA
でやれる場合もあろうし
(3)人手
出ないとできない場合もありうる。
    • good
    • 0

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