[[20060713093515]] 『応用方法教えてください』(じょー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『応用方法教えてください』(じょー)

 =IF(COUNT(FIND({"手稲区","白石区","清田区"},F4)),"A氏","")
 =IF(COUNT(FIND({"北区","南区","中央区"},F4)),"B氏","")
 =IF(COUNT(FIND({"豊平区","西区","東区"},F4)),"C氏","")
                          .
                          .
                          .
 =IF(COUNT(FIND({"江別","石狩","北広島"},F4)),"F氏","")

 と幾つかの条件式をセルA1に一つの条件式としていれる場合
 どういう式にしたらいいのでしょうか?

 ちなみに”偽の値”には「””」それ以外は空白。
 と入れたいのですが・・・
 上手に組み合わせることが出来ません。
 ご教授下さい。

 こういったものはいかが?
 =CHOOSE(SUM(COUNTIF(F4,{"手稲区","白石区","清田区","北区","南区","中央区","豊平区","西区","東区"})
  *{1,1,1,2,2,2,3,3,3})+1,"","A氏","B氏","C氏")
 (ROUGE)

 やってみましたが上手くいきません(T-T)
 =CHOOSE(SUM(COUNTIF(F4,{"手稲区","白石区","清田区","北区","南区","中央区","豊平区","西区","東区"})
  *{1,1,1,2,2,2,3,3,3})+1,"","A氏","B氏","C氏")

 の”C氏”がエラーらしく、そこだけ反転しています。
 ちなみに”A氏”の前にある””を”C氏”の後ろに持ってきたら、
 今度はその””が反転しました。

 何がいけないのでしょうか?
 ちなみに”+1”ってどういう意味でつけるんですか?

 (じょー)


 すみません。
 ()の数が合っていないだけでした<(_ _)>

 それでもやっぱりおかしいんです。
 担当者名は出るのですが、まったくちがう担当者を選んでるんです・・・。

 なせでしょうか?

 (じょー)

 例えば、F4に「西区」と入っている場合、この式は
 =CHOOSE(SUM({0,0,0,0,0,0,0,1,0}*{1,1,1,2,2,2,3,3,3})+1,"","A氏","B氏","C氏")
 となり、
 =CHOOSE(SUM(0,0,0,0,0,0,0,3,0)+1,"","A氏","B氏","C氏")
 となり、
 =CHOOSE(3+1,"","A氏","B氏","C氏")
 となり
 =CHOOSE(4,"","A氏","B氏","C氏")
 となり、
 ="C氏"
 となるはずですが...
 +1としているのは、CHOOSE関数の第1引数が0だとエラーになるからです。
 (ROUGE)

 ・・・応用じゃないですが・・・。
 たとえば、「担当」と言う名前のシートをつくって
	[A]	[B]
 [1]	区域	名前
 [2]	手稲区	A氏
 [3]	白石区	A氏
 [4]	清田区	A氏
 [5]	北区	B氏
 [6]	南区	B氏
 [7]	中央区	B氏
 [8]	豊平区	C氏
 [9]	西区	C氏
 [10]	東区	C氏

 A1=VLOOKUP(F4,担当!$A:$B,2,FALSE)
 でどうでしょう?

 偽の場合ってのが、F4が空欄や担当者が居ない区域の場合なら

 A1=IF(ISERROR(VLOOKUP(F4,担当!$A:$B,2,FALSE),"",VLOOKUP(F4,担当!$A:$B,2,FALSE))
 って感じでしょうか?

 (HANA)

 (ROUGE)さん
 +1の意味解りました。
 っていうか、↑の説明、すごく分かり易くてきちんと理解できました。

 なぜうまく出来なかったのかも原因がわかりました。

 F4のセルには「清田区」と入っているのに、条件式の中の条件は”清田”。
 となっていたら、ダメなんですね。
 元となった、1番上の
 =IF(COUNT(FIND({"手稲区","白石区","清田区"},F4)),"A氏","")
 という式では「文字の一部」を選んでくれたので、大丈夫なのかと思って油断してました。
 解決してバッチリです♪♪♪

 (HANA)さんのも同じで、今、表を作ってやってみたんですが最初うまくいきませんでした。
 原因は、同じでしたwww
 VLOOKUPは解っていたのですが、””空白の条件式をどう入れていいか解らなかったので
 頑張って勉強のためにも応用編で無理矢理やってみました。
 ISERRORですかぁ・・・・勉強になります。

 お二方とも、どうもありがとうございました。(*^_^*)

(じょー)


 清田しか入力されないこともあるのであれば、ワイルドカードを使うのはどうですか?
 =CHOOSE(SUM(COUNTIF(F4,{"手稲*","白石*","清田*","北*","南*","中央*","豊平*","西*","東*"})
  *{1,1,1,2,2,2,3,3,3})+1,"","A氏","B氏","C氏")
 (ROUGE)

 F4が空欄の場合と、担当シートの区域に区域名が無い場合との
 表示を分けるとしたら
 A1=IF(F4="","",IF(ISNA(VLOOKUP(F4,担当!$A:$B,2,FALSE)),"担当者が居ない区域です。",VLOOKUP(F4,担当!$A:$B,2,FALSE)))
 (F4空欄は直接見てますが・・・・)

 勉強は勉強として後の為に保存しておいて(パソコンの中にでも頭の中にでも)、
 運用はメンテナンスがやりやすい方を使うのが良いと思いますよ。
 実務で使うのであれば、人が変わる場合もありますしね。
 以上、蛇足でした。

 (HANA)


[[20060710133600]]『条件式を教えてください』(じょー)
 の続きですね

 対応表を作成して
	[A]	[B]
 [1]	区域	名前
 [2]	手稲区	A氏
 [3]	白石区	A氏
 [4]	清田区	A氏
 [5]	北区	B氏
 [6]	南区	B氏
 [7]	中央区	B氏
 [8]	豊平区	C氏
 [9]	西区	C氏
 [10]	東区	C氏

 =INDEX(B:B,SUMPRODUCT((SUBSTITUTE(F4,$A$2:$A$10,)<>F4)*ROW(A$2:A$10)))

 因みに、札幌市は中央区北3条西七丁目 など 区を抜かせないですね

 by しげちゃん

  18:10  F1をF4に変更

(ROUGE)さん
 その手がありましたね!!!最近(しげちゃん)さんに教えていただいたばかりでした!!!
 ・・・はい!出来ました♪♪♪

(HANA)さん

 出た〜!!!
 「担当者が居ない地域です。」が言葉で出た〜♪♪♪
 ISNAを使えば、エラーが出ないで↑が表示されるわけですね♪

しげちゃんさん

 何度もありがとうございます。
 (HANA)さんと同じ対応表を使って、ちがう式で出来るんですね!!
 <>F1ってどういう事を意味してるんですか?

(じょー)


 実はISNAの前にF4が空欄かどうか見ているので
 ISERRORとしても同じ結果が出ます。
 (そして、最初の関数でISNAを使っても同じ結果です。
   F4が空欄の場合のエラー値も、区域の無い時のエラー値も
   同じ#N/Aがでるので・・・・。)

 IS○○は色々あって、その中で「エラー値は#N/Aですか?」
 を調べるのがISNAです。
 エラー値を調べる関数は3つありますので
 エクセル君と仲良くなりたければ、いるかさんに
 「IS関数」と質問してみて下さい。
 その他の関数についても教えてくれますよ。

 ってことで、IS関数多用するなら・・・・。
 A1=IF(ISBLANK(F4),"",IF(ISNA(VLOOKUP(F4,担当!$A:$B,2,FALSE)),"担当者が居ない区域です。",VLOOKUP(F4,担当!$A:$B,2,FALSE)))
       ^^^^^^^^^^        ^^^^
 (って言っても2箇所ですね)

 (HANA)


 前回の質問の続きと勘違いしていたのかな
 
 >例えばF列に「札幌市中央区」とあれば、
 のように 前後に検索値以外の文字があることを想定して回答していました。

 勘違いですので無視してください

 <>F1ってどういう事を意味してるんですか?
 F4の記載間違いです。訂正しました

 by しげちゃん


 <>F1の意味は(記載間違いと言うことではなくたぶん)
 「SUBSTITUTE(F4,$A$2:$A$10,)がF4でないもの」と言う事です。

 C2=SUBSTITUTE($F$4,A2,)
 D2=C2<>$F$4
 E2=D2*ROW(A2)

 として、下方向にコピーした後、F4に区域を入れてみてください。
 C列には、F4と同じ区域以外の行にF4の区域が表示されて
 F4と同じ区域の行には何も表示されません。
 D列は、F4と同じ区域の行のみTRUEが入ると思います。
 E列でTRUEと行番号をかけた時(行)のみ、数字がでます。
 この数字を元にINDEX関数でB列の名前を表示してます。

 SUMPRODUCT関数で配列になっているのでわかりにくいかもしれませんが
 <>F1とは、今回D列に設定した真偽の条件の部分です。

 ・・・ですよね?>しげちゃん さん

 (HANA)

(HANA)さん
 IS関数、私なりに調べてみました。
 ISが付くのって色々あるんですねぇ〜(>0<)=3
 HANAさんの教えてくれたISをたくさん使う式は、今の私にはまだ高度でしたwww
 もっと勉強しなければ!!!
 「いるかさん」ですね?覚えておきます♪♪♪
 今度助けてもらおうっとwww

しげちゃんさん

 全然勘違いじゃなかったですよ(^-^)v

 >例えばF列に「札幌市中央区」とあれば、
 のように 前後に検索値以外の文字があることを想定して回答していました。

 正解です!!
 私の知りたかった事の意味するところは、
 HANAさんの解答から行くと、「真偽の条件の部分」と言うことですね?

お二方とも何度もありがとうございました。

 お陰で大変高度な表が出来そうです♪♪♪

(じょー)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.