• ベストアンサー

再び先ほど質問をした者です・・・。

再びすいません・・・。 前者:Excel2000を使っています。 IF関数を使う際に =IF(C5="b2","ボルト","") という感じで、”b2”含む文字列すべてにあてはまる式を作ることは可能なのでしょうか? (分かりにくくてごめんなさいm(_ _)m) 今この式だと”b2”という文字に対してしか、適用されませんが、例えば”b2-1”という”b2”という文字を含んでいる文字列にも適用させたいのですが・・・。 宜しくお願いします。 --------追加でお願いします・・・。--------- 更にこれに「”b2”がなければ次は”b3”を検索し、あれば○、なければ更に”b4を検索しあれば△なければ・・・」ということは可能なのでしょうか? 本当にいつもすいません・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.6

>ある言葉を入力すると、他のページから検索してその語句が入力される。 これは VLOOKUP関数などですね。 使い方は http://oshiete1.goo.ne.jp/goo_search.php3?dummy=%A5%E1%A1%BC%A5%EB&MT=&TAB=&kw=vlookup&c=0&act.search.x=17&act.search.y=7 などの過去の質問を参考にしてもらえればいいでしょう。 なんか 条件がいろいろあるようで、それが提示されないと 希望のものには ならないと思います。

news_0203
質問者

お礼

VLOOKUP関数の場合はなかなかうまくいかなくて・・・。 IF関数を連結させてやってみたのですが、最大が約15個くらいで、それ以上いくと「数式が長すぎます」とエラーが出てきてしました。数は全部で1000個近くあるので・・・。なんのあてはまる関数がなくて・・・。 「セル(1)にAが入ればセル(2)にはBと表示され、Cを入れればDが表示される」というような事柄をたくさん作りたいです(;_;) 数式では上限があったので・・・となりますと・・・? 何を使うべきなのでしょうか? 本当にいろいろすいません・・・m 回答してくださっているみなさん、ありがとうございますmm

news_0203
質問者

補足

それとですが、VLOOKUP関数だと完全一致という形になりますが、部分一致はできるのでしょうか? 教えて君ばかりで本当にごめんなさいm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (7)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.8

#7です。 >1000近くのファイルを検索することはかのうなのでしょうか? 1000近くのファイルがあるとはエクセルのブックが 1000ほど存在する(勿論名前が違う)のでしょうか。 当初の質問文からはそんなことは窺い知れません。 IF関数の利用だって、ネストが3-4段以上の式を 1000以上のブックに亘って適用するなど、手数が 掛かってやってられないように思います。 VBAを勉強されて、対処しないとと感じます。 良く疑問点を整理されて、落ちついて質問を記述をされんことを。 処理の早いコンピュターでも、操作が絡むと「量は質の変化を引き起こす」と思いますので、数千数万と多い場合、1-2個で出来るやり方が通用するかを改めて考えないとと思います。 業務に絡んだ質問で、具体的内容を出せず、変に抽象的なのではないかと推測しますが、そこは工夫して、やや具体的に何をしたいのかを説明されては。

news_0203
質問者

お礼

ごめんなさい・・・。 部品名などをそのまま明かすことはできないもので・・・。 もう少し調べてみます!

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

ユーザー関数を作って見ました。ifkは勝手に付けてOK. 下記でもう一箇所あるifkはそれと合わせること。 Function ifk(s, a As String, b As String, c As String, d As String) Dim t(5) t(1) = a: t(2) = b: t(3) = c: t(4) = d k = Array("", "○", "×", "△", "□") For i = 1 To 4 p = InStr(s, t(i)) If p <> 0 Then ifk = k(i) End If Next i End Function これをVBEの標準モジュール画面に貼りつける。 ワークシートのA1からA5に 軽いb2 b3は軽い ご愛顧のc1堅牢 伝統のd1 安いb2 が入っているとして B1に=ifk(A5,"b2","c1","d1","b3")といれB5まで複写します。 B1:B5は ○ □ × △ ○ となります。 b2=>○、c1=>×、d1=>△、b3=>□の対応です。 この対応の組み合わせは変えられます。

news_0203
質問者

補足

というと・・・これは・・・? 1000近くのファイルを検索することはかのうなのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.5

こんにちは IF文のネストには限界があると思いますので、&でIF文を連結してしまうという事でいかがでしょうか。 =IF(ISNUMBER(FIND("b2",C5)),"ボルト","")&IF(ISNUMBER(FIND("b3",C5)),"○","")&IF(ISNUMBER(FIND("b4",C5)),"△","")

news_0203
質問者

お礼

なかなか難しいです・・・(;_;) 「ある言葉を入力すると、他のページから検索してその語句が入力される。」というコードみたいなものを聞いたことがあるのですが、それを用い方を教えてはいただけはないでしょうか? #3さんに、ご指摘を受けていますが、どうかよろしく追え願いしますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.4

=IF(ISERROR(FIND("b2",C5)),IF(ISERROR(FIND("b3",C5)),IF(ISERROR(FIND("b4",C5)),IF(ISERROR(FIND("sc",C5)),"","sc"),"b4"),"b3"),"ボルト") これで b2、b3、b4、scと対応できます。 が、IF文のネスト(IF文の中にIF文を入れること)には、限界がありますので、あと一つぐらいしかできないと思います。 もう少し 工夫すれば いくつか 増やせるかもしれませんが。

全文を見る
すると、全ての回答が全文表示されます。
noname#15014
noname#15014
回答No.3

search と iserror を使えば出来ます。 =if(iserror(search("b2",c5)),"","ボルト") これを検索したい文字列分ネストすれば可能です。 質問は自分で試行錯誤した後にしてみてはいかがですか?

全文を見る
すると、全ての回答が全文表示されます。
  • losedog
  • ベストアンサー率66% (22/33)
回答No.2

>という感じで、”b2”含む文字列すべてにあてはまる式を作ることは可能なの>でしょうか? 可能です。 =IF(COUNTIF(C5,"*b2*")>0,"ボルト","") というように、IF文の判定式で、COUNTIF関数とワイルドカードを使用します。 >--------追加でお願いします・・・。--------- IF文のネスト(入れ子)で可能です。 =IF(COUNTIF(C5,"*b2*")>0,"ボルト",IF(COUNTIF(C5,"*b3*")>0,"○",IF(COUNTIF(C5,"*b4*")>0,"△","")))

全文を見る
すると、全ての回答が全文表示されます。
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

=IF(ISERROR(SEARCH("b?",C5)),"","ボルト") ワイルドカードの指定が 出来ますが これは、見ての通り bと何か一文字が 見つかった場合となります。 b2とb3、b4だけで他は検索しないのならば また、別の方法がもちえます。

news_0203
質問者

補足

b?以外の文字列の検索をすることは可能なのでしょうか? (例)scなど・・・。 お願いしますM(_ _)M

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • IF関数である種類をまとめて論理式にするときは・・・?

    いつもお世話になっています。 Excel2000を使っています。 IF関数を使う際に =IF(C5="b2","ボルト","") という感じで、”b2”含む文字列すべてにあてはまる式を作ることは可能なのでしょうか? (分かりにくくてごめんなさいm(_ _)m) 今この式だと”b2”という文字に対してしか、適用されませんが、例えば”b2-1”という”b2”という文字を含んでいる文字列にも適用させたいのですが・・・。 宜しくお願いします。

  • 一つの数式内に複数の関数!!

    よろしくお願いします。 関数式で一つの式内に複数の式を入れる場合の入力方法ですが、以前のEXCEL95では関数ウイザードがあって その中の文字列を入力する所のボックスの前に≪fx≫の関数ボタンがあって簡単に入力できました。 でも現在Excel2002ではそのボタンが見当たりません。直接入力するしかないのでしょうか? 是非教えてください。 =IF(A4>89,"A",IF(A4>79,"B", IF(A4>69,"C",IF(A4>59,"D","F")))) 上のような式を入力したいのですが。。。。

  • Excel(IFとAND)の関数の組合せ…

    Excel2007にちょっとだけ踏み込んでいます。 添付図のC列に入れる(IFとAND)関数の組合せると、上手く書けず、エラーになってしまいます。 A列とB列を見比べて、 両方「○」なら「◎」 片方「○」なら「○」 「○」が無い場合は「×」 と書き、「C1」→c10までコピーしたいのです。 「C1」に書く式を(IFとAND以外でも)、教えてください。

  • 【Excel】 置換機能を使って数式を書き換えたい

    セル内の文字列を置換えたいのですが、 A列に =IF(B1=C1,B1+C1,C1) =IF(B2=C2,B2+C2,C2) =IF(B3=C3,B3+C3,C3) といった式が入っています。 これを、 =B1+C1 =B2+C2 =B3+C3 のように 置換の機能を使って 書き換えたいのですが、 検索する文字列、 置換え後の文字列にどう書いたら良いのでしょうか。 Excel2007です 宜しくお願いします。

  • 任意の文字列を検索して文字を追加する。

    マクロについてご質問します。 宜しくお願い致します。 <質問> A列…すべてのデータが入っています。 B列…検索したいデータが入っています。 C列…検索結果のデータを出力します。 過去に教わったIF関数を使用した「=IF(ISNA(MATCHを組み合わせた式)」方法ですとA列の文字とB列の文字が一致しているものは そのままC列に表示で、B列に含まれないA列の文字はC列に"その他"として出力することができました。 今回は、A列の文字とB列の文字が一致している場合は C列に文字を加え、A列B列ともに一致していない場合は そのままの表示を行いたいのですがどなたかご助言していただけると助かります。 A列   B列  C列 ------------------------ 赤   白   赤   白   緑   白組 黄       黄 緑       緑組 青       青 IF関数で行うことは可能なのでしょうか? 宜しくお願い致します。

  • 提示された計算式の動作結果の報告と質問

    nishi6さんへ 9/17の回答ありがとうございます。 修正した計算式を「コピー」し「貼り付け」を行い、動作を確認しました。 目的通りの結果が得られたことをご報告します。ありがとうございました。 「A4セル」に入力する計算式がポイントですね。計算式は、C列の検索開始行が見事に検索した次の行からになっています。感心しました。 「IFERROR]関数は今まで使ったことがありませんでした。また「INDIRECT」関数の有用性を少しだけ知ることが出来ました。 質問事項 1. A4セルに入力する計算式の中でIFERROR(A3+MATCH........で 確認します。 INDIRECT関数の内容は、Sheet10のC9:C189 MATCH関数の内容は、A$1=9をC9:C189の範囲で完全一致で該当するものを検索すると、Sheet10のC17が該当する。C17はA列のNo.16に該当する。 A3+の意味するところは何ですか?わかりません。 2. B3の入力式においてわからないことがあります。 2-1. INDEX(Sheet10!$B$2:$B$189,A3,1)<>"",はIF関数の論理式ですよね。 2-2. <>"",のあとのINDEX(Sheet10!$B$2:$B$189,A3,1)は論理式がTRUEの場合の処理ですよね。 2-3. 論理式の( )の後の<>"",の意味は何ですか?私は今までこの様な記述形式は目にしたことがありませんでした。INDEX関数による検索では、数字や文字が何もない(空白)と言う様な意味ですか? いつまでもお手数をおかけして申し訳ありません。

  • エクセルの質問です。

    文字列の括弧()の中の検索をしたいと思っています。 MID関数とFIND関数を組み合わせて、FINDで括弧()を検索しようと思いましたが、文字列中の括弧の位置を出そうとすると、#VALUE!というエラーが出てしまいます。 みなさんは、括弧の中を別セルに表示させようとするとどのような式を立てますか? ちなみに、Excel2007を使用しています。

  • Excel、マクロの質問

    Excel、マクロ初心者です。 Excel関数のIF関数ではこのように表示させていますが、マクロではうまく表現できません。 =IF(D89>C90,"b",IF(D89<C90,"a","f")) 比較対象の数がD89から始まり、D5654まであります。 IF関数の式は何となくわかるのですが D89からD5654まで上記の式を適用させるところがうまくいきません どのようにすればよいのでしょうか。

  • エクセルで複数のセルの合計をIF関数も含めて出す方法

    初歩的だと思うのですが・・ 異なった文字が入った各セルの合計を別セルにてIFを使用し、数字を出しながらなおかつ集計する方法がわかりません。  A   B    C   D 1 い   ろ 2     は   に   3 ほ       4 へ   と 5 A列に文字が入ると常に 500 B列に文字が入ると常に 200 C列に文字が入ると常に 100 として、D列にA-Cの合計(何もなければ空欄)を出したいのです。この場合だとD1=700, D2=300, D3=500...となるように。 IF(A1="","",500)+IF(B1="","",200)+IF(C1="","",100) のちゃんとした関数式を教えてください。よろしくお願いします。。

  • Excel2002 IF関数の組み合わせ

    初歩的な問題ですが、組み合わせ方が他のサイトに例が見つからなかったので質問します。 IF関数で、 D列に、『もしA列が○○なら、B列の数値をもってきなさい。そうでなければC列の数値を持ってきなさい。』 というような単純な数式が入っているとして、ここに別の条件をまた付け加えたくなったので、どうすればよいか 質問させて下さい。 内容は、上記の条件のあとに、『E列が△△なら、F列の数値を持ってきなさい。』 というものです。 式としては IF(A1="大阪",B1,C1) 追加したいのは IF(E1="国語",F1,C1) ということで、全く違う条件を追加したい場合はどのように組み合わせればよいでしょうか?

専門家に質問してみよう