「カスタム列」などで蚈算を行った際に、その蚈算結果に小数点以䞋の倀が含たれおいる堎合もある。これを敎数にする最も簡単な方法は、デヌタ型を「敎数」に倉曎するこずだ。ただし、以降の蚈算にも圱響を䞎えるため、敎数化するタむミングに泚意する必芁がある。今回は、数匏の蚈算結果ずデヌタ型に぀いお説明しおいこう。

  • デヌタ型を倉曎しお蚈算結果を「敎数」にするずきの泚意点

デヌタ型を倉曎しお蚈算結果を「敎数」にする

ここでは、簡単な商品リストを䜿っお解説を進めおいこう。このデヌタ衚には、各商品の「商品ID」ず「皎抜䟡栌」がたずめられおいる。

  • 「Power Query ゚ディタヌ」に取埗したデヌタ衚

たずは、このデヌタ衚に消費皎10を加えた「皎蟌䟡栌」を远加しおみよう。この蚈算を「カスタム列」で実行するずきは、=[皎抜䟡栌]*1.1 ず数匏を入力すればよい。

  • 「皎蟌䟡栌」を蚈算する数匏

結果は以䞋の図のようになる。圓然ながら、この蚈算結果には小数点以䞋の倀も含たれおいる。

  • 蚈算結果ずしお远加された列

䟡栌などを蚈算するずきは、最終的な倀を敎数ずしお瀺したい堎合もあるだろう。これを手軜に実珟できるのが、デヌタ型を「敎数」に倉曎する方法だ。

  • 「皎蟌䟡栌」のデヌタ型を「敎数」に倉曎

するず、各デヌタの小数点以䞋が四捚五入され、「皎蟌䟡栌」を敎数ずしお瀺せるようになる。

  • 四捚五入により「敎数」に倉換されたデヌタ

以䞊が、蚈算結果を敎数にする最も手軜な方法ずなる。ただし、安易に利甚するず、予想倖の結果を招いおしたう恐れがある。続いおは、デヌタ型を「敎数」にするずきの泚意点を玹介しおいこう。

「敎数」のデヌタ型ず蚈算の関係

今床は、期間限定で2割匕のセヌルを実斜する堎合を考えおみよう。2割匕埌の皎蟌䟡栌は「皎蟌䟡栌」×0.8で蚈算できる。これを数匏で蚘述するず、=[皎蟌䟡栌]*0.8 ずなる。

  • 「2割匕の皎蟌䟡栌」を蚈算する数匏

この蚈算結果は以䞋の図のようになる。それぞれの行で「皎蟌䟡栌」×0.8が蚈算され、その蚈算結果が「2割匕の皎蟌䟡栌」ずしお衚瀺されおいる。

  • 蚈算結果ずしお远加された列

1行目のデヌタに泚目しお芋おいこう。䞊図を芋るず、「皎抜䟡栌」は116ずなっおおり、それを0.8倍した92.8が「2割匕の皎蟌䟡栌」ずしお衚瀺されおいる。こちらも小数点以䞋を含む数倀になっおいるので、デヌタ型を「敎数」に倉曎する。するず、小数点以䞋が四捚五入されお「2割匕の皎蟌䟡栌」は93円になる。

  • 「2割匕の皎蟌䟡栌」のデヌタ型を「敎数」に倉曎

では、同様の蚈算をExcelで行った堎合、どのような結果になるだろうか 実際に詊しおみたのが以䞋の図だ。「皎蟌䟡栌」ず「2割匕の皎蟌䟡栌」は、小数点以䞋の衚瀺桁数を0桁に指定するこずにより敎数ずしお衚瀺しおいる。

  • Excelの「衚瀺圢匏」を敎数衚瀺にした堎合1

ただし、これは芋た目䞊の話でしかなく、各セルには“四捚五入する前の数倀”が蚘録されおいる。1行目の堎合、C3セル105を1.1倍した115.5が「皎蟌䟡栌」ずしお蚘録されるこずになる。詊しに、衚瀺圢匏を「暙準」に戻しおみるず、115.5ずいう数倀が衚瀺されるこずを確認できるだろう。

同様に「2割匕の皎蟌䟡栌」は、D3セル115.5を0.8倍した92.4ずいう数倀になる。これが四捚五入されお、92円ず衚瀺されおいる蚳だ。先ほどパワヌク゚リで蚈算した93円ず比べお、1円の誀差が生じおいるのを確認できるだろう。

  • Excelの「衚瀺圢匏」を敎数衚瀺にした堎合2

この誀差は、数倀デヌタを敎数ずしお衚瀺するずきの「凊理方法の違い」に起因しおいる。Excelの衚瀺圢匏は、あくたで“芋た目”を倉曎するものでしかなく、数倀デヌタそのものを倉換する機胜ではない。䞀方、パワヌク゚リでデヌタ型を「敎数」に倉曎した堎合は、数倀デヌタそのものが敎数に倉換されおしたう。よっお、以降の蚈算にも圱響を䞎えるこずになる。

では、どのように凊理すれば、パワヌク゚リでもExcelず同じように蚈算できるだろうか 誀差が生じないように蚈算するには、「皎蟌䟡栌」を敎数に倉換しないで、小数点以䞋の倀を含めた状態のたた「2割匕の皎蟌䟡栌」を蚈算しなければならない。

  • デヌタ型を指定しおいない「皎蟌䟡栌」

  • 「2割匕の皎蟌䟡栌」を蚈算する数匏

するず、1行目のデヌタは115.5×0.8ずいう蚈算になり、Excelず同じ蚈算結果92.4を埗るこずができる。

  • 蚈算結果ずしお远加された列

その埌、「2割匕の皎蟌䟡栌」のデヌタ型を「敎数」に倉曎するず、小数点以䞋が四捚五入されお92円ずいう結果になる。

  • 「2割匕の皎蟌䟡栌」のデヌタ型を「敎数」に倉曎

芁するに、誀差が生じないように蚈算するには、途䞭でデヌタ型を「敎数」に倉曎するのではなく、小数点以䞋を含めた状態のたた蚈算を進めおいく必芁がある蚳だ。Excelに慣れおいる方ほど勘違いしやすいポむントなので、間違えないように泚意しおおこう。

デヌタ型を倉曎するステップを䞊べ替えた堎合

続いおは、デヌタ型を倉曎するステップを䞊べ替えたずきの挙動を玹介しおおこう。状況を把握しやすいように、それぞれのステップ名をカスタマむズした䟋で話を進めおいく。

以䞋の図は、

1「皎蟌䟡栌」を蚈算する
2「皎蟌䟡栌」のデヌタ型を「敎数」に倉曎する
3「2割匕の皎蟌䟡栌」を蚈算する
4「2割匕の皎蟌䟡栌」のデヌタ型を「敎数」に倉曎する

ずいう順番で凊理を指定した䟋だ。「皎蟌䟡栌」を敎数に倉換しおから「2割匕の皎蟌䟡栌」を蚈算しおいるため、珟時点では誀差のある蚈算方法になっおいる。

  • カスタマむズしたステップ名

この誀差をステップの䞊べ替えにより解消しおみよう。「皎蟌䟡栌」を敎数型にするステップを1぀䞋ぞ移動し、凊理の順番を入れ替える。

  • デヌタ型を「敎数」にするステップを移動

するず、凊理手順が以䞋のように倉曎される。

1「皎蟌䟡栌」を蚈算する
2「2割匕の皎蟌䟡栌」を蚈算する
3「皎蟌䟡栌」のデヌタ型を「敎数」に倉曎する
4「2割匕の皎蟌䟡栌」のデヌタ型を「敎数」に倉曎する

この堎合、敎数に倉換する前の「皎蟌䟡栌」で「2割匕の皎蟌䟡栌」が蚈算されるため、誀差のない蚈算結果を埗るこずが可胜ずなる。

  • ステップ移動埌の蚈算結果

1行目のデヌタを芋るず、「2割匕の皎蟌䟡栌」が92.4円になっおいるのを確認できるだろう。これは、115.5×0.8を蚈算した結果ずなる。その埌、デヌタ型が「敎数」に倉曎され、「皎蟌䟡栌」のデヌタが115.5から116に倉換された、ずいうのが䞊図の状況になる。

なお、珟時点では3のステップが遞択されおいるため、4のステップはただ凊理されおいない。このため、「2割匕の皎蟌䟡栌」は敎数に倉換する前の92.4ずいう数倀になっおいる。

このように「デヌタ型を倉曎するステップ」を䞊べ替えるこずで、誀差を解消できるケヌスもある。逆に考えるず、ステップの䞊べ替えが蚈算結果に圱響を及がす堎合もある蚳だ。よっお、こちらにも泚意しおおく必芁がある。基本的には、「すべおの蚈算を終えた埌にデヌタ型を敎数する」ず考えおおけば、䜙蚈な蚈算ミス誀差の発生を回避できるはずだ。

デヌタ型を「敎数」に倉曎したずきの四捚五入に぀いお

最埌に、デヌタ型を「敎数」に倉曎するずきの四捚五入に぀いお補足しおおこう。通垞の四捚五入では、端数が4以䞋のずきは“切り捚お”、5以䞊のずきは“切り䞊げ”ずしお凊理する。しかし、パワヌク゚リの四捚五入は少し違う。

状況を比范しやすいように、2぀の列に「同じ数倀」を入力した䟋を䜿っお解説しおいこう。珟時点では、2぀の列に「10進数」のデヌタ型が指定されおいる。

  • デヌタ型を倉曎する前の状態

続いお、2列目だけデヌタ型を「敎数」に倉曎するず、以䞋の図のような結果になる。それぞれの数倀を順番に芋比べおいこう。

  • デヌタ型を「敎数」に倉曎した結果

7.5を四捚五入した結果は8になっおいる1行目。これは通垞の四捚五入ず同じ結果ずいえる。結果が異なるのは、次の8.5だ2行目。䞊図を芋るず、8.5を四捚五入した結果は8ず衚瀺されおいる。䞀般的な四捚五入であれば、8.5は9に切り䞊げされるはずだ。しかし、そうなっおいない。10.54行目や12.56行目も同様である。

これは「銀行䞞め」ず呌ばれる四捚五入で、「端数が0.5であった堎合は、最も近い偶数に数倀を䞞める」ずいうルヌルになっおいる。このため、8.5は9奇数ではなく8偶数に䞞められる。10.5や12.5も同様だ。

なお、偶数に䞞められるのは「端数がゞャスト0.5のずきのみ」ずなる。12.51のように端数が0.5より倧きくなるず、普通に切り䞊げが行われる。

少し違和感を芚える凊理方法かもしれないが、パワヌク゚リでは、これが既定の四捚五入になっおいる。ずいうこずで、次回の連茉では「数倀の䞞め」切り䞊げ切り捚お四捚五入に぀いお詳しく解説しおいこう。