• ベストアンサー

エクセルの関数・マクロについて

エクセルにて 下記のような事例を、関数やマクロを使用し、 実行することが可能でしょうか? また可能であれば方法をご教授ください! 例)セル内文字列に 1.「 送料無料 」と「 手数料無 」が含まれている場合   →文末に「 AA 」を表示 2.「 送料無料 」が含まれており、「 手数料有 」が含まれていない場合   →文末に「 Aa 」を表示 3.「 送料無料 」が含まれておらず、「 手数料有 」が含まれている場合   →文末に「 aA 」を表示 4.「 送料無料 」と「 手数料無 」が含まれていない場合   →文末に「 aa 」を表示 複数文字列の置換えなどは可能なのですが、上記の事例のように 特定の文字が含まれていれば・・・する、また含まれていなければ・・・する などの実行方法が知りたいです。 よろしくお願いいたします。

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

  • ベストアンサー
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

A1セルに文章が有り、B1セルに、文末に指定の文字を追加して表示する場合の例ですが、全自動だと解りにくいので、1~4の条件を別々に判定した場合の例として、以下の式を使ってみてください。全自動するには、1~4の式の最後の””に次の条件式を記入します。 1.「 送料無料 」と「 手数料無 」が含まれている場合→文末に「 AA 」を表示 =IF(AND(COUNTIF($A1,"*送料無料*"),COUNTIF($A1,"*手数料無*")),$A1&"AA","") 2.「 送料無料 」が含まれており、「 手数料有 」が含まれていない場合→文末に「 Aa 」を表示 =IF(AND(COUNTIF($A1,"*送料無料*"),NOT(COUNTIF($A1,"*手数料有*"))),$A1&"Aa","") 3.「 送料無料 」が含まれておらず、「 手数料有 」が含まれている場合→文末に「 aA 」を表示 =IF(AND(NOT(COUNTIF($A1,"*送料無料*")),COUNTIF($A1,"*手数料有*")),$A1&"aA","") 4.「 送料無料 」と「 手数料無 」が含まれていない場合→文末に「 aa 」を表示 =IF(AND(NOT(COUNTIF($A1,"*送料無料*")),NOT(COUNTIF($A1,"*手数料無*"))),$A1&"aa","")

aoisisa
質問者

お礼

ありがとうございます!参考にさせていただきます!

関連するQ&A

  • エクセルの関数・マクロについて

    ※以前質問させていただきましたが、抜けていた項目がありましたので、補足して再度質問です。 エクセルにて 下記のような事例を、関数やマクロを使用し、 実行することが可能でしょうか? また可能であれば方法をご教授ください! 例)A2セル内文字列に 1.「 送料無料 」と「 手数料無 」が含まれている場合、 →「 送料無料 」と「 手数料無 」を削除し、A2セル内の文末に「 AA 」を表示 2.「 送料無料 」のみ含まれており、「 手数料無 」が含まれていない場合、 →「 送料無料 」を削除し、A2内の文末に「 Aa 」を表示 3.「 送料無料 」が含まれておらず、「 手数料無 」のみ含まれている場合、 →「 手数料無 」を削除し、A2内の文末に「 aA 」を表示 4.「 送料無料 」と「 手数料無 」の両方が含まれていない場合、 →A2内の文末に「 aa 」を表示 よろしくお願いいたします。

  • エクセル 関数

    教えてください。Aセルには文字列が入力されていて、Cセルには何も数値が反映されていない時(Bセルに対する数式は有)だけにDセルに1を表示させる方法を教えてください。

  • EXCELのマクロで複数選択したとき

    選択したセルに一つ左側の文字列をふりがなとして表示させる方法をマクロで 簡単に実行させたいのですが複数のセルを選択するとエラーになってしまいます。 Sub test() Selection.Characters.PhoneticCharacters = Selection.Offset(0, -1) Selection.SetPhonetic Selection.Phonetics.Visible = True End Sub マクロはさきほど調べたばかりでほとんど理解できていません。おそらく2行目のSelection.Offset(0, -1)の部分がエラーの原因かと思うのですが下記のような表現ができるマクロを教えて下さい。 B1~B10を選択してるときマクロを実行するとA1~A10の文字列をB1~B10にふりがなの文字になる。 * B1にはA1、B2にはA2の文字列とがふりがなになるようにしたい。 マクロに詳しい方よろしくお願いします。

  • エクセルの設定か、関数かマクロで出来るでしょうか?

    エクセルの関数やマクロを勉強中です。 特定の列の、セル内の文字や数字を 一字でも変更した場合 そのセルだけ、背景色がグレーになる・・・ そんな事が、できるでしょうか? ご回答を お待ちしております! よろしくお願いします。

  • エクセル2010のマクロについての質問です。

    エクセルにてマクロを組もうと色々調べているのですが、 どうしてもわからないため教えていただきたいことがあります。 現在、マクロを実行すると固有の文字をアクティブセルに挿入するというマクロを作成しました。 このマクロを少し改造したいのですが、A1とB1に=のものが入っている行の特定の列のセルに固有の文字を挿入するという風にしたいです。 例えば、Aの列にはA1には1、A2には2という風に順に10間での数字が入っていて、 B1には9が入っている場合、C9のセルに固有の文字を挿入するという感じです。 B1を7に変えた場合、C7に固有の文字が挿入されるという感じにしたいです。 質問の仕方が下手でわかりにくいかも知れませんがお知恵をお貸しください。 よろしくお願いします。

  • エクセルのマクロで『区切り位置』設定できない

    マクロの素人です。 Win XPでエクセルでセルの中味を区切る設定をしたところ、うまくいきません。 例えば、A列の 経営管理:情報部 をコロンで区切るというマクロを組みます。マクロを実行すると |経営管理|情報部| という結果になります。 しかし、他の値でマクロを実行しても、4文字目で強制的に区切られてしまいます。 セルに何文字入っていようが、「:」でセルを分けたいのですが、マクロの組み方での解決方法を教えてください。

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • Excel 2003のマクロについて

    セルにある文字列に”-”を加え、別のセルに移したいです。 例/ABCDEFGHIJ→ABC-DEFGH-IJ としたいです。 文字列の“-”の入る位置は、「例/」の位置で固定です。 Excel2003を使用しています。 マクロ等で一発変換できる方法はありますか? マクロ初心者なので、教えて下さい。宜しくお願い致します。

  • マクロを作る時の関数IFについて

    クエリで落としたデータを一度テキストで保存してから必要な項目を残したりして最終的には顧客リストをマクロで作れるようにしたいのですが、マクロを記録中の作業で、ある数字によって回収方法を区分けする項目があります。 たとえば、1だったら集金の『集』、2だったら郵送の『郵』、3だったら振込みの『振』となるように関数のIFの数式を入れていきます。 しかし数式を入れても、セルの数字が文字列でないからか、実行されません。テキストで保存するときには文字列にして保存しているのですが 原因がわかりません。 別件ですが、テキスト保存したものからマクロを記録する場合、マクロを実行するときに保存先がみつかりませんというようなメッセージが出ることもありました。このようなときにもどうすれば実行できるのか わかりません。それぞれの対処法を教えてください。

  • エクセルのマクロについて教えてください

    こんな感じのマクロを考えています。 今いるセルの行番号の百の位を行番号とし、 A列のその行番号にある文字列を取得したい場合どのように書けばよいのでしょうか? 例) A2には「あさだ」と書かれています。 A3には「まお」と書かれています。 あるセルの行番号が342の時、百の位である3から、A列の3行目、つまりA3にある「まお」という 文字列を取得して表示させる。 TEXT(QUOTIENT (ROW(),100)&"","@")で上記でいうところの文字列3が取れますが、 ここからどうやってA3として、そのセル番号の中身を取得できるのでしょうか?

専門家に質問してみよう