- ベストアンサー
関数の使い方
宜しくお願いします。関数の使い方なんですが、 A1にLFYJNC A2にGTUX6FSZDWE A3に48312RBM という判別番号があります。 "1"がA1にあればB10の値を、A2にあればB11、A3にあればB12の値を導く数式を教えてください。 =IF(FIND("1",A1)>1,B10,IF(FIND("1",A2)>1,B12,IF(FIND("1",A3)>1,B13,""))) としてみたのですがうまくいきません、久々に数式を作ってみたら関数の使い方を忘れてしまいました。お分かりの方宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
=IF(ISERROR(FIND("1",A1)),IF(ISERROR(FIND("1",A2)),IF(ISERROR(FIND("1",A3)),"",B12),B11),B10)
その他の回答 (5)
- tom04
- ベストアンサー率49% (2537/5117)
No.2です。 補足の >C1のセルに"Y"を入れるとC2のセルにB10の値を、 >C1のセルに"Z"を入れるとC2のセルにB11の値を、 >C1のセルに"1"を入れるとC2のセルにB12の値を >表示させたいのです。 となると、最初の質問にあるA1~A3セルは無視するコトになりますが・・・ ↓の画像のようにA列を使ってよいのであれば C2セルに =IF(COUNTIF(A10:A12,C1),VLOOKUP(C1,A10:B12,2,0),"") という数式を入れます。 A列が使用不可の場合は遠く離れた使っていない列にA列データを作って INDEX関数とMATCH関数の併用で可能です。 ※ 本当はもっと別にやりたいことがあるような気がしますが、 とりあえず今回はこの程度で・・・。m(_ _)m
お礼
他の仕事をしながらなので時間がかかりました。 回答ありがとうございます。
補足
他の仕事をしながらなので時間がかかりました。 説明が下手で申し訳ありません。 tom04さんの表で説明しますと、C1に、A1からA3の中の1文字を入れた場合、A1にあればB10の値を、A2にあればB11、A3にあればB12の値をC2に表示させたかったのです。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
問題の意味はよく判らないが、A列全てをテストするには、それぞれのセルに対してテストが必要? 例えば、A1に対しては、 =IF(ISERROR(FIND("1",A1)),"",IF(FIND("1",A1)>0,B10,"")) これを下の他のセルにもコピーする。
お礼
ちょっと意味がわからないのですが、 回答ありがとうございました。
- shintaro-2
- ベストアンサー率36% (2266/6245)
find関数を使用した場合、文字を見つけることができなければエラー値が返されます。 ですので、findを使う場合はエラーが返された場合処理を規定する必要があり 例えば、 =if(iferror(find("1",A3),"0")>0,B13,"")とすれば、 A3に”1”があればB13の値が返りますし、なければ空白が返されます。
お礼
回答ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 「1」は半角とします。 =IF(ISNUMBER(FIND(1,A1)),B10,IF(ISNUMBER(FIND(1,A2)),B11,IF(ISNUMBER(FIND(1,A3)),B12,""))) または =IF(COUNTIF(A1,"*1*"),B10,IF(COUNTIF(A2,"*1*"),B11,IF(COUNTIF(A3,"*1*"),B12,""))) こんな感じではどうでしょうか? ※ 仮に「1」が存在するセルが複数ある場合は、上位の行のセルが優先されます。m(_ _)m
お礼
他の仕事をしながらなので時間がかかりました。 回答ありがとうございます。
補足
ほんとに皆さん、私の説明不足で申し訳ありません。たとえば、 C1のセルに"Y"を入れるとC2のセルにB10の値を、 C1のセルに"Z"を入れるとC2のセルにB11の値を、 C1のセルに"1"を入れるとC2のセルにB12の値を 表示させたいのです。 この説明でわかりますか?
- keithin
- ベストアンサー率66% (5278/7941)
>"1"がA1にあればB10の値を、A2にあればB11、A3にあればB12 何処のセルの値を取ってくる,があなたの言葉の説明と数式の例が違っているので,ホントはどうしたいのか間違いの無いように注意して作成し直して下さい。 例: =IF(ISNUMBER(FIND(1,A1)),B10,IF(ISNUMBER(FIND(1,A2)),B11,IF(ISNUMBER(FIND(1,A3)),B12,"")))
補足
説明不足で申し訳ありません。たとえば、 C1のセルに"Y"を入れるとC2のセルにB10の値を、 C1のセルに"Z"を入れるとC2のセルにB11の値を、 C1のセルに"1"を入れるとC2のセルにB12の値を 表示させたいのです。 この説明でわかりますか?
お礼
解決できました、ありがとうございます。 他の仕事をしながらなので時間がかかりました。 ISERROR関数も使ったのですが、IF関数のネストの仕方が悪かったんですね! また分からないことがあったら宜しくお願いします。