- ベストアンサー
任意の文字を含む文字列を置換する(if文にて)
こんにちはtmgmです。 EXCELについての質問です。 今セルA1~A20までに"CELL1"~"CELL20"の文字が入っています。A1=CELL1,A2=CELL2,A3=CELL3のように20まで。 この中からCELL番号に"2"が含まれるものを探し出して隣のセル(B1~B20)にチェックを付けたいです。 私はif文でワイルドカードでも使ってこんな感じで書けばいいのかと思って試しにやってみました。 例えばB1セルに =if(A1="*2*","OK","NG") のように書けばいいのかと思いました。しかしこれでは"*2*"が文字列として認識されてしまい、ワイルドカードとしての機能を果たしてくれません。 どのようにかけば ”任意の文字を含むセルを検索してTRUEの場合、値を返す”というif文(もしくはその他?)ができるでしょうか? 分かる方ご返答宜しく御願いします。
- tmgm
- お礼率17% (47/273)
- オフィス系ソフト
- 回答数3
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんな感じでどうでしょう? =IF(ISERROR(FIND("2",A1)),"NG","OK") OK,NGを逆にしたいなら =IF(NOT(ISERROR(FIND("2",A1))),"OK","NG")
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17068)
SEARCH関数でも出来ます。 =IF(ISERROR(SEARCH("2",A1)),"no","yes") "l*1"なんて(ワイルドカード文字)指定も出来ます。
- neKo_deux
- ベストアンサー率44% (5541/12319)
文字を検索するFIND関数を利用します。 =FIND("2",A1) =FIND("2",A2) はそれぞれ、 #VALUE! 5 を返しますので、更にISERR関数でエラーか否かを判定し、エラーのあったセルをNG、エラーでないセルをOKとします。 =IF(ISERR(FIND("2",A1)),"NG","OK")
関連するQ&A
- Excel97で、If文をなんとかしたい
IF文でなんとかなりそうなんですが、IF文を使った事がなくて。 A列 B列 C列 任意の位置のセルD 数式 文字列 数式 文字列 数式 文字列 数式 文字列 こんな表で、Bの文字列の値と、Dのセルの値が一致した時、Aの数式の値(数字)をCの列に表示させ、BとDの文字が一致しない時は、”エラー”を表示させたいんですが、どういう風にすればいいのでしょうか? IF文を使えばいいのでしょうか? どういう風に、数式を立てればいいのかわかりません。 どなたか詳しい方、教えていただけませんか?
- ベストアンサー
- オフィス系ソフト
- エクセルのIF文
IF文が簡単なものしか分からないレベルの者です。 以下の条件においてIF文を作成する場合、どのようにしたら良いでしょうか? 御教示願います。なおエクセルのバージョンはエクセル2000です。 (1)A~C列の十数行のセルには文字が並んでいる(たとえばAXY12341,FAC236等)。 (2)あるセル内(A~C列以外のセル)に入力した文字が、A列のセルにある文字と同じものがあれば、 あるセルの色は赤色になる。 (3)あるセル内(A~C列以外のセル)に入力した文字が、B列のセルにある文字と同じものがあれば、 あるセルの色は青色になる。 (4)あるセル内(A~C列以外のセル)に入力した文字が、C列のセルにある文字と同じものがあれば、あるセルの色は黄色になる。
- ベストアンサー
- その他(業務ソフトウェア)
- IF文の使い方
IF文の使い方について教えて下さい.一応ヘルプを見て以下のようなIF文を作ったのですが,文字列と認識されてしまっているようで全く意図したような数字が入りません. なお,IF文を入れたセルは書式で確認しても文字列ではなく,標準になっています. やりたいことは,C列の数字がゼロならB列の数字(単価)を使って,ゼロでなければC列の数字(区別単価)を使ってD列の数量をかけた合計をE列に表示(計算)させたいのですが. 下の例だとEのセルには125*1200が入ってもらいたいのです. 単価 特別単価 数量 合計 B列 C列 D列 E列 125 0 1200 IF(C5=0,=D5*B5,D5*C5)
- ベストアンサー
- オフィス系ソフト
- 文字列の置換えがうまくいきません
A B C 1 * 11 11 2 * 12 12 3 13 4 * 14 13 5 15 6 * 16 14 7 * 17 15 上記のように B列の文字列を、A列の*がある行に対応するようにC列に並べ替えたいです。A列に*が無い行はそのC列の同じ行のセルは空けておきたいです。 A列の*の配置、B列の文字列は時々で変わります。 どのような関数・方法を用いれば上記のようなことができるでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- if 文などで「""」を返した場合の空白文字列をブランクにしたい
if 文などで「""」を返した場合の空白文字列をブランクにしたい if 文などで「""」を返した場合は、空の文字列を返しているのであって、ブランクが返ってきているわけではありません。 コピーして貼り付け(値のみ)をしても、空の文字列は空の文字列、ブランクはブランクです。 コピーして貼り付け後(値のみ)の空の文字列をブランクにするには、delete が一番簡単です。 上記の様に記載されているのを見つけました。ここでご質問が御座います 任意の範囲(今回はB1:D50)で空の文字列をブランクに変えるVBAに困っております。 どなたか、教えていただけないでしょうか? よろしくお願い致します。 使用環境:Windows7x64 Office 2007
- ベストアンサー
- オフィス系ソフト
- IF関数で * を使いたい
A列の2行目から200行目くらいまで文字列が入っています。 A列の文に「駅」の字が含まれている場合はB列に「○」を入れたいです。 B2セルに =IF(A2="*駅*","○","") でフィルしても旨くいきません。 こういう場合ワイルドカードはどう使えばいいのでしょうか。 あるいは他の方法を使った方が良いのでしょうか。
- ベストアンサー
- オフィス系ソフト
- 【Excel】IF文「ある文字を含んでいたら…」
Excel2003を使用しています。 IF文について教えてください。 「ある文字を含んでいたら…」という条件をたてたいのですが 例えば、A1セルに『仕入』という文字が含まれていたら、B1セルに『100』と表示されるように数式を入力する場合、どのようにしたらいいでしょうか? “含まれる”ということで、『仕入』の前後に『*』をつけたらいいのかなと思ったのですが、うまくいきません。SUMIF や COUNTIF ではうまくいったのですが。。。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 任意の文字列で囲まれていない任意の文字列を置換するには
任意の文字列で囲まれていない任意の文字列を置換したいです。 たとえば、『 [[ 』と『 ]] 』で囲まれていない『http://hogehoge/』を『<a href="http://hogehoge/">http://hogehoge/</a>』に置き換えるにはどうすればいいのでしょうか。 具体的には下記の【置換前】のテキストを【置換後】のような感じにしたいです。 【置換前】 http://hogehoge/ [[http://hogehoge/]] http://hogehoge/ http://hogehoge/ [[http://hogehoge/]] 【置換後】 <a href="http://hogehoge/">http://hogehoge/</a> [[http://hogehoge/]] <a href="http://hogehoge/">http://hogehoge/</a> <a href="http://hogehoge/">http://hogehoge/</a> [[http://hogehoge/]] preg_replaceかereg_replaceのどちらかで例を挙げてもらえるとありがたいです。ご教示お願いします。
- ベストアンサー
- PHP
- エクセル 関数 文字列の置換方法
セルの中の文字列 例えば セルA1「ABCDEF」の場合で A1の3文字目が [C] なら、セルB1に 「”決まった文字列”1”決まった文字列」として、 A1の3文字目が [A] なら、セルB1に 「”決まった文字列”2”決まった文字列」としたい 場合の方法を教えて下さい。 宜しくお願いします。
- 締切済み
- その他MS Office製品