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