- ベストアンサー
文字列の検索と置換について
- AJ4からAO4のセルにA4セルを参照し曜日(文字列)を抽出し○に置き換える方法について教えてください。
- 他に使える関数などがあれば教えてください。
- A4セルには月、A5セルには月水金、A6セルには火という値が入っている場合、AJ4からAO4のセルにはA4セルの値によって○または空白が入るようにしたいです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- tom04
- ベストアンサー率49% (2537/5117)
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
お礼
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)
添付画像のようにしたいということでしょうか? その場合は以下の式を入力して右方向および下方向にオートフィルして下さい。 =IF(ISNUMBER(FIND(INDEX({"月","火","水","木","金","土"},COLUMN(A:A)),$A4)),"○","")
お礼
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.1です。 たびたびごめんなさい。 投稿後もう一度質問文を読み返してみました。 3行目については何も記載がないですね。 すなわち数式によって月~土を判断して、A4セル以降に「月」が含まれていればAJ列に「○」 「火」が含まれていればAK列に「○」・・・「土」が含まれていればAO列に「○」 というように表示したい!という解釈で もう一度数式を投稿しておきます。 AJ4セルに =IF(COUNTIF($A4,"*"&CHOOSE(COLUMN(A1),"月","火","水","木","金","土")&"*"),"○","") という数式を入れ、列・行方向にフィルハンドルでコピー! これではどうでしょうか?m(_ _)m
補足
どうもうまく説明できず申し訳ございません まさにそのようなことをしたいわけですが CHOOSE(COLUMN(A1)の(A1)の意味が分かりません ご教授いただきました数式を入れましたが表示できませんでした お手数ですがよろしくお願い致します ちなみに3行目は下記です (月火水木金土) 結果 AJ6=月ならば○ ----"" AK6=火ならば○ ----"○" AL6=水ならば○ ----"" AM6=木ならば○ ----"" AN6=金ならば○ ----"" AO6=土ならば○ ----""
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 質問内容がいまいち掴めないのですが・・・ AJ4~AO4セルに 月~土 までの文字が入っていて A列の4行目以降のデータにその文字が含まれていれば「○」を表示させればよい訳ですかね? そういうコトだとすると AJ4セルに =IF(COUNTIF($A4,"*"&AJ$3&"*"),"○","") という数式を入れフィルハンドルで列・行方向にコピーしてみてください。m(_ _)m
お礼
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のご回答をいただいたことと存じます 皆様お忙しいところ本当にありがとうございました
お礼
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のご回答をいただいたことと存じます 皆様お忙しいところ本当にありがとうございました