次の方法で共有

EXCELの置換操作について教えてください

Anonymous
2019-12-19T06:31:45+00:00

EXCEL2010とEXCEL2019を使用しています。パソコンは違うパソコンです。

集計シートに=SUMIF(H30年11月!$B:$B,$A257,H30年11月!$E:$E)という式があります。

H30年11月というシートもあります。

年度が変わったので、R1年11月というシートを新しく作りました。

集計シートの上記の式が入っているセルを選択し、「ctrl+F」で立ち上がった検索・置換のところから置換のタグを選択して、

検索する文字列に「H30年」、置換後の文字列に「R1年」と入れて「すべて置換」をすると下記のメッセージがでて置換できません。

ちなみに「R2年」でもできず、「2020年」「H31年」だとできます。

新しいシートで作成して同様におこなっても同じです。

2020年に置換したときにも同様のメッセージが出るなら、自分の操作ミス・式の作成ミスと思いますが、「R」がつくと駄目なような気がするのですが・・・。

<メッセージ>

この数式には問題があります

数式を入力してない場合は次の点に注意します。

最初の文字に等号やマイナス記号を使用している場合は数式として認識されます。

「OK」「ヘルプ」

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません
質問作成者が受け入れた回答
  1. Anonymous
    2019-12-19T09:29:30+00:00

    > =SUMIF(H30年11月!$B:$B,$A257,H30年11月!$E:$E)

    > 年度が変わったので、R1年11月というシートを新しく作りました。

    > 集計シートの上記の式が入っているセルを選択し、

    > 「ctrl+F」で立ち上がった検索・置換のところから置換のタグを選択して、

    > 検索する文字列に「H30年」、置換後の文字列に「R1年」と入れて

    > 「すべて置換」をすると下記のメッセージがでて置換できません。

    =SUMIF(R1年11月!$B:$B,$A257,R1年11月!$E:$E)

    のような数式を設定する自体が無効ですので。

    (恐らく R1C1 方式での構文規則に引っかかっている)

    ワークシート名における年表記を西暦 4 桁にするか、

    数式内のシート名を '(シングルクオーテーション)で囲むか

    のいずれかで対応した方がよいでしょう。


    =SUMIF('R1年11月'!$B:$B,$A257,'R1年11月'!$E:$E)


    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません

5 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2019-12-23T01:23:06+00:00

    早々にご回答いただきましてありがとうございます。

    できたらいいなで作った式で計算結果ができていたので、R1C1 方式での構文規則ということも全く知らない自分です。

    教えていただいたことを理解したいと思います。

    ありがとうございました。

    0 件のコメント コメントはありません
  2. Anonymous
    2019-12-23T01:21:25+00:00

    早々にご回答いただきましてありがとうございます。

    できたらいいなで作った式で計算結果ができていたので、R1C1 方式での構文規則ということも全く知らない自分です。

    とりあえず、言われたとおりにしたらできました。

    これから教えていただいたことを理解したいと思います。

    ありがとうございました。

    0 件のコメント コメントはありません
  3. ひまじん 17,185 評価のポイント
    2019-12-19T09:29:19+00:00

    こんにちは。

    同様の状況を作って検証してみたところ、こちらでも同様のエラーメッセージが表示され置換ができない状況になりました。

    数式中でシート名を指定する場合には、シート名が数字で始まっていたり、シート名にスペースが含まれていたりする場合には、シングルクォーテーション( ' )で囲む必要があります。

    おそらく、『 R 』の文字から始まっていて年月と認識できる文字列となっているので、これを年月日を表すシリアル値と解釈してしまっているのではないでしょうか。

    シリアル値=数値(数字の並び)なので、シート名が数字で始まっているにもかかわらずシングルクォーテーションで囲まれていないためにエラーメッセージが表示されている状況のように思われます。推測ですが。

    ただ、『 M 』『 T 』『 S 』『 H 』などから始まる年月と解釈できる文字列については、シングルクォーテーションで囲まれていなくてもエラーメッセージなどは表示されず正常に処理されますので、何らかの内部処理の不具合があるのかもしれません。

    あるいは、内部の仕様が変更になっているのかもしれませんが・・・。

    いずれにしても、今回の問題は置換作業の問題というよりも数式自体の文字列の扱い方の問題ですので、以下のようにシート名を手作業でシングルクォーテーションで囲むようにすれば正常に処理されます。

    =SUMIF('R1年11月'!$B:$B,$A257,'R1年11月'!$E:$E)

    もしも、集計シート上の数式の数が多く手作業が難しいのであれば、「検索と置換」ダイアログで、「検索する文字列」を H30年11月 、「置換後の文字列」を 'R1年11月' 、というように「月」まで指定して一つずつ『置換』していってみてはいかがでしょう。(シングルクォーテーションで囲むのを忘れずに。)

    面倒かもしれませんが手作業より少しは良いかもしれません。

    尚、シングルクォーテーションは、必要ない場合に入れても何ら問題ありません(必要なければ自動的に消えます)ので、将来的に何らかの改修が行われたとしても大丈夫かと思います。

    ちなみに、現在の私の環境ですが、

    Windows10、Excel2016 バージョン1911(ビルド 12228.20364 クイック実行)

    です。

    ご参考になれば幸いです。

    <訂正>

    エラーメッセージが出る原因についてですが、「令和」表示に対応していない Excel2007 で確認してみたところ、シングルクォーテーションを入れないとエラーメッセージが出る状況でした。

    なので、sk.exe さんの推測通り「R1C1 方式」に絡んだエラーのように思えます。

    原因を取り違えて推測してしまい、大変失礼いたしました。

    0 件のコメント コメントはありません
  4. Anonymous
    2019-12-19T07:05:53+00:00

    こんにちは。

    特に「R」という文字が置換できないということはないはずですね。

    新規ファイルを開いてみて、適当な文字列を「R1年」で置換できないか試すことはできますか?

    0 件のコメント コメントはありません