web-dev-qa-db-ja.com

LibreOffice Calcで1Kを1000に、1Mを1,000,000に変換する方法はありますか?

大きなデータセットを合計する必要がありますが、値はKまたはMとして入力されます。これらを変更して数値に変換する方法はありますか?検索と置換を使用してMを000000に変更することを考えていましたが、1.25Mなどの値では機能しません。これに対する簡単な解決策はありますか?ありがとうございました!

4
AliZ

値が列(この例では列A)にあると仮定して、この式を使用して2番目の列を追加し、変換する必要のある値に一致するように入力します。

_=IFNA(LEFT(A1,LEN(A1)-1)*CHOOSE(MATCH(RIGHT(A1,1),{"K","M"},0),1000,1000000),A1)
_

この数式は、MATCH(RIGHT(A1,1),{"K","M"},0)で「K」または「M」を検索します。これにより、「K」の場合は1、「M」の場合は2が返されます。 CHOOSE関数は1,000または1,000,000を返し、これにLEFT(A1,LEN(A1)-1)を掛けます。 LEFT関数は、「K」または「M」を削除します。

値が「K」または「M」で終わらない場合はどうなりますか?このような場合、MATCHは#NAを返し、IFNAは変更されていない値を返します。この数式は、正の値と負の値、および小数点以下の桁数の値を変換します(たとえば、1.25Mは1,250,000に変換されます)。

同じ方法を簡単に拡張して、数十億(1,000,000,000)を変換できます。

_=IFNA(LEFT(A1,LEN(A1)-1)*CHOOSE(MATCH(RIGHT(A1,1),{"K","M","B"},0),1000,1000000,1000000000),A1)
_
2
creidhne