• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル関数を使うと、まれに正しい値が返ってこない)

エクセル関数で正しい値が返ってこない理由と解決方法

このQ&Aのポイント
  • エクセルで約4,000件のデータの照合作業を行っている際、一部のMATCH関数の結果が正しくないことがあります。関数の式には問題はなく、件数が多いことが原因と思われます。このような現象は一般的であり、解決方法もあります。
  • エクセルでMATCH関数を使用してデータの照合を行っている際、まれに正しくない値が返ってくることがあります。この問題は件数が多い場合に起こりやすく、関数自体には問題がないと考えられます。
  • エクセルのMATCH関数を使用して大量のデータの照合を行っていると、正しくない値が返ってくることがあります。この問題は件数が多い場合によく発生し、関数の式には問題がありません。解決方法としては、データの照合を別の方法で行うことが考えられます。

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

  • ベストアンサー
回答No.3

何らかの原因で「セルの再計算」を中断したりすると「再計算を行うまえにセルに入っていた、正しく計算する前の値」がセルの値として残ります。 MATCH関数などのように「ある程度の大きさの範囲を見に行く関数」では、再計算に時間が掛かります。 再計算に時間が掛かっている場合、再計算中に中断キーを押したり、表を大きく激しくスクロールさせたり、、表を自動で再計算しないモードにした場合、セルに表示される値は「正しく計算する前の値」になりますので注意しましょう。 特に「MATCH関数で見付かった件数が1件のみ」とかだと、余計に再計算に時間が掛かると思うので、注意が必要です。

DoggyBen
質問者

お礼

解決致しました。 また、詳細な説明をありがとうございました。 やはり計算中は、じっと待っていることが ベストなようです。

その他の回答 (5)

  • purumin9
  • ベストアンサー率24% (39/161)
回答No.6

4000件って、エクセルにとっては何てことない量です。エクセル側にはきっと問題ないと思います。 照合するデータに不正がないか確認してみてください。 テキストだというなら、全角・半角、大文字・小文字、あとは書式とかかな?

DoggyBen
質問者

お礼

アドバイスをありがとうございます。 書式も関係してくるのですね… ちょっと驚いてしまいました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

(1) aaa <-A1 bbb ccc ddd bbb 1 eee fff ggg hhh kkk C列の式は =MATCH(B4,$A$2:$A$100,0) 正しくは 第2引数 $A$1:$A$100にすべきである。 (2)第3引数 0 が-1や1になっている。 など疑わしい。 式を複写したりするだろうから、いつもこうなるのではないが、部分的に 何かの拍子で式がおかしくなっていたとしか考えられない。 >バグと言うか いつも原因がわからないとソフト側のバグと言う人が多い。 9年間、質問回答を見ているが、こんな質問は無いと記憶する。 エクセルで不一致が出るのはこんな点ではない。 ーー この質問は質問者が原因を探さないと、他では原因がわからないとおもう。 読者に再現させることが出来ないでしょうから。

DoggyBen
質問者

お礼

アドバイス、ありがとうございました。 このような「ズレてしまう」事象は2回目なので >部分的に 何かの拍子で式がおかしくなっていたとしか imogasiさんのおっしゃるように、「何かの拍子」を ご存じの方がいるかと思いこちらで質問させて頂いた 次第です。

回答No.4

>下記が使用している式です。「+1」は >=MATCH(B338,$A$2:$A$4895,0)+1 つまり、MATCH(B338,$A$2:$A$4895,0) は0 考えられない値ですね。ためしに、C338セルに入力してみたものの 例示のようにはなりませんでした。 Excelのバージョンは何でしょうか?

DoggyBen
質問者

お礼

Excelは、2007です。 すみません、言葉が足らなかったようです。 お知らせした式は、実際に使用しているものですが 例としてあげた画像のものは、あくまで例としての ものなので、見出しを入れていないなど 忠実に問題を再現していませんでした。 わざわざお調べ頂き、ありがとうございました。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

直接の回答に繋がりませんが、 「←ここがずれてしまっている」がある列に 想定として左からA列 B列・・・と並んでいるとして 最上段から、 =IF(INDEX(A:A,C1)=B1,"正","誤") なんて入れて下に必要行コピーすれば、間違いは見つけやすいかも?

DoggyBen
質問者

お礼

間違い探しに役立つ情報を ありがとうございました! とても助かります。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

実際にどんな計算式を使っているのかを提示してもらえませんか。

DoggyBen
質問者

補足

早速のお返事ありがとうございます。 下記が使用している式です。「+1」は 1行目に見出しを入れているのでつけています。 =MATCH(B338,$A$2:$A$4895,0)+1 どうぞ宜しくお願い致します。

関連するQ&A