• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:文字列の検索と置換について)

文字列の検索と置換について

このQ&Aのポイント
  • AJ4からAO4のセルにA4セルを参照し曜日(文字列)を抽出し○に置き換える方法について教えてください。
  • 他に使える関数などがあれば教えてください。
  • A4セルには月、A5セルには月水金、A6セルには火という値が入っている場合、AJ4からAO4のセルにはA4セルの値によって○または空白が入るようにしたいです。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

説明が良くわかりませんが添付の図のようなことがやりたいわけでしょうか? で、あればAJ3:AO3に月、火、…、土 と、入力しておいて AJ4に↓の式を入れ、AJ4:AO6にコピーしてください =IF(ISERROR(FIND(AJ$3,$A4)),"","○")

100POINT
質問者

お礼

no1 =IF(COUNTIF($A4,"*"&AJ$3&"*"),"○","") no2 =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") no3 =IF(ISERROR(FIND(AJ$3,$A4)),"","○") no4 =IF(ISNUMBER(FIND(INDEX({"月","火","水","木","金","土"},COLUMN(A:A)),$A4)),"○","") みなどれも表示できました 関数によって使い方がいろいろあり勉強になりました シンプルで初心者にも分かりやすい関数でしたのでno3の方をベストアンサーにさせていただきました それから、私の説明が下手で (>すなわち3行目に月~土までのセルがあれば) これを省略した為にno2,no3のご回答をいただいたことと存じます 皆様お忙しいところ本当にありがとうございました

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.1・2です。 実はNo.1の数式はNo.3さんが回答されていらっしゃるような配置を想定した数式でした。 すなわち3行目に月~土までのセルがあれば No.1またはNo.3さんの数式でお望みの結果が表示されると思います。 さて補足の >CHOOSE(COLUMN(A1)の(A1)の意味が分かりません について・・・ どこのセルでも良いので使っていないセルに =COLUMN(A1) という数式を入れフィルハンドルで右にコピーしてみてください。 1からの連番が表示されます。(A1でなくてもA1000でもA列であれば同じ結果です) すなわちCHOOSE関数の数値部分をこの「COLUMN(A1)」で決め、 CHOOSE関数の「値1」→「月」 「値2」→「火」・・・としています。 結果として =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") という数式は 数式を入れた列=1 その右隣り=2・・・となりますので A4セル(相対参照)に「月」が含まれていれば「○」・その右隣りに「火」が含まれていれば「○」・・・ といった具合になります。 当然、No.4さんの方法も同じ考え方で月~土をINDEX関数で配列にしておいて その何番目?があれば「○」という数式になると思います。m(_ _)m

100POINT
質問者

お礼

no1 =IF(COUNTIF($A4,"*"&AJ$3&"*"),"○","") no2 =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") no3 =IF(ISERROR(FIND(AJ$3,$A4)),"","○") no4 =IF(ISNUMBER(FIND(INDEX({"月","火","水","木","金","土"},COLUMN(A:A)),$A4)),"○","") みなどれも表示できました 関数によって使い方がいろいろあり勉強になりました シンプルで初心者にも分かりやすい関数でしたのでno3の方をベストアンサーにさせていただきました それから、私の説明が下手で (>すなわち3行目に月~土までのセルがあれば) これを省略した為にno2,no3のご回答をいただいたことと存じます 皆様お忙しいところ本当にありがとうございました

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

添付画像のようにしたいということでしょうか? その場合は以下の式を入力して右方向および下方向にオートフィルして下さい。 =IF(ISNUMBER(FIND(INDEX({"月","火","水","木","金","土"},COLUMN(A:A)),$A4)),"○","")

100POINT
質問者

お礼

no1 =IF(COUNTIF($A4,"*"&AJ$3&"*"),"○","") no2 =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") no3 =IF(ISERROR(FIND(AJ$3,$A4)),"","○") no4 =IF(ISNUMBER(FIND(INDEX({"月","火","水","木","金","土"},COLUMN(A:A)),$A4)),"○","") みなどれも表示できました 関数によって使い方がいろいろあり勉強になりました シンプルで初心者にも分かりやすい関数でしたのでno3の方をベストアンサーにさせていただきました それから、私の説明が下手で (>すなわち3行目に月~土までのセルがあれば) これを省略した為にno2,no3のご回答をいただいたことと存じます 皆様お忙しいところ本当にありがとうございました

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 たびたびごめんなさい。 投稿後もう一度質問文を読み返してみました。 3行目については何も記載がないですね。 すなわち数式によって月~土を判断して、A4セル以降に「月」が含まれていればAJ列に「○」 「火」が含まれていればAK列に「○」・・・「土」が含まれていればAO列に「○」 というように表示したい!という解釈で もう一度数式を投稿しておきます。 AJ4セルに =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") という数式を入れ、列・行方向にフィルハンドルでコピー! これではどうでしょうか?m(_ _)m

100POINT
質問者

補足

どうもうまく説明できず申し訳ございません まさにそのようなことをしたいわけですが CHOOSE(COLUMN(A1)の(A1)の意味が分かりません ご教授いただきました数式を入れましたが表示できませんでした お手数ですがよろしくお願い致します ちなみに3行目は下記です (月火水木金土)   結果 AJ6=月ならば○  ----""          AK6=火ならば○  ----"○" AL6=水ならば○  ----"" AM6=木ならば○  ----"" AN6=金ならば○  ----"" AO6=土ならば○  ----""

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 質問内容がいまいち掴めないのですが・・・ AJ4~AO4セルに 月~土 までの文字が入っていて A列の4行目以降のデータにその文字が含まれていれば「○」を表示させればよい訳ですかね? そういうコトだとすると AJ4セルに =IF(COUNTIF($A4,"*"&AJ$3&"*"),"○","") という数式を入れフィルハンドルで列・行方向にコピーしてみてください。m(_ _)m

100POINT
質問者

お礼

no1 =IF(COUNTIF($A4,"*"&AJ$3&"*"),"○","") no2 =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") no3 =IF(ISERROR(FIND(AJ$3,$A4)),"","○") no4 =IF(ISNUMBER(FIND(INDEX({"月","火","水","木","金","土"},COLUMN(A:A)),$A4)),"○","") みなどれも表示できました 関数によって使い方がいろいろあり勉強になりました シンプルで初心者にも分かりやすい関数でしたのでno3の方をベストアンサーにさせていただきました それから、私の説明が下手で (>すなわち3行目に月~土までのセルがあれば) これを省略した為にno2,no3のご回答をいただいたことと存じます 皆様お忙しいところ本当にありがとうございました