ハロルドは、「検索」が文字列を見つけられないセル内の文字の制限があるかどうか疑問に思います。彼は、文字列MIMOが終わりに近い1つのセル(22,500文字)に多くのテキストを持っており、「検索と置換」はそれがないことを示しています。彼がそれを知った理由は、彼がSEARCH関数を使用して配列数式をテストしていて、MIMOがそこにあると言っていたからです。ハロルドは数式に誤りがあると思っていましたが、代わりにこのExcelの制限を見つけたようです。

Microsoftのソースから指摘された制限を見つけることができませんでしたが、テストでは間違いなく制限があります。ハロルドと同じ長さの文字列を作成しましたが、検索と置換で末尾近くの文字が見つかりませんでした。それで、実際の制限がどこで発生したのか疑問に思いました。

制限は8,192文字のようです。文字列の長さが正確に8,192文字で、最後の4文字が「MIMO」の場合

その後、検索と置換は問題なくそれを認識できます。文字列にもう1文字追加し(つまり、8,193文字の長さになります)、「MIMO」の場合は

はまだ終わりですが、Find andReplaceはそれを見つけられません。文字が文字列の前(8,192文字の境界の前)にある場合、予想どおり、検索と置換によって文字列が検索されます。

要するに、ワークシートで非常に長いテキスト文字列を使用している場合、目的のテキストを見つけるために検索と置換に頼ることはできないということです。どうしても長いテキスト文字列を処理する必要がある場合は、VBAにこの組み込みの制限がないため、検索を実行するための独自のVBAルーチンを開発することを検討してください。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9237)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。