Excel 2013 ピボット テーブルが同一の値を集計できず、重複した結果が返されます。なぜでしょうか?

Excel 2013 ピボット テーブルが同一の値を集計できず、重複した結果が返されます。なぜでしょうか?

Excel で簡単なピボット テーブルを作成中に奇妙な問題が発生しました。データは次のとおりです。列 C に A の値を B の値で割った値を含む簡単なテーブルを作成しました。わかりやすくするために、列 D に数式を含めました。

ここに画像の説明を入力してください

ここで奇妙なことが起こります。列 C からピボット テーブルを作成すると、数字 6 の 2 つのバージョンが表示されます。

ここに画像の説明を入力してください

これはおかしい!なぜExcelは数字6の両方の「バージョン」を1行にまとめないのでしょうか?さらにテストしてみました。isnumber()は両方の6に対してtrueを返し、同等性のテスト(='1位 6'='2位 6') も true を返します。Excel がピボット テーブルでこれらの同一の値を集計できないのはなぜでしょうか?

1.2 / 0.2 が浮動小数点数を返し、12 / 2 が整数を返す (Python で起こり得る) ことに関係していると思いますが、Excel には扱っているデータ タイプを知らせるものがありません。おそらく丸め誤差でしょうか? また、2 つの 6 が同じでないのに、なぜ同等性テストで true が返されるのでしょうか?

2 つの 6 を整数に変換すると、ピボット テーブルは期待どおりの結果を返します。ただし、これを行う必要はないと思いますし、ほとんどのユーザーもそうすることを期待していません。これは何が起きているのでしょうか。期待どおりの動作ですか、それともバグですか。

答え1

関数を使用して列 C を整数に変換するとINT、ピボットテーブルは期待どおりに生成されます。これは浮動小数点の問題です。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

関連情報