Excelとほぼ同等の機能を持ち、Google Workspace上で共有できるGoogleスプレッドシート。
関数もほぼ同じものを利用でき、セルをコピーして貼り付けることもできてしまう。
さらにGoogleDriveにExcelファイルを保存すれば、スプレッドシートの機能でExcelファイルを編集できてしまう。
もはや「ほとんどExcel」として利用できるスプレッドシートであるが、互換性が無い部分もある。
その互換性が無い部分がコレ。
Excelではマイナスを「▲」として表示できるが、それをスプレッドシートに値コピーしてもマイナス数値と認識しない。
ではどうすればいいのか。
そこで今回はExcelからGoogleスプレッドシートに値コピーした「▲」をマイナスとして認識する方法について解説する。
この記事を書いている人
記事を読むメリット
ExcelからGoogleスプレッドシートに値コピーした「▲」をマイナスとして認識する方法がわかり、スプレッドシートが得意になる
ExcelからGoogleスプレッドシートに値コピーするケース
まずはExcelからGoogleスプレッドシートに値コピーするケースについて考えてみよう。
普通にコピーするだけじゃダメなのか。
ダメではないケースもある。
しかし値コピーしかできないケースもある。
それがExcelのシートに数式が使われている場合。
数式がシートの中で完結していれば良いが、別シートの値を参照していたりすると、スプレッドシートへのペースト時に参照できなくなってエラーになる。
なので数式があるExcelシートからコピーするときは値コピーを使いたい。
ExcelからGoogleスプレッドシートに値コピーすると「▲」をマイナスとして認識しない
しかしExcelからスプレッドシートに「▲」を含むマイナスの数値を値コピーすると、困ったことが起こる。
現象としてはExcel上で ▲123,456,789
と表示されているマイナス数値をスプレッドシートに値コピーすると、 ▲123,456,789
という文字列がスプレッドシートのセルにセットされる。
文字列なので数値計算しようとしてもできない。
文字列なので計算できない |
---|
これでは数値として利用できない。
どうすればよいのか。
ExcelからGoogleスプレッドシートに値コピーした「▲」をマイナスとして認識する方法
ExcelからGoogleスプレッドシートに「▲」を含むマイナス数値をコピーしても、文字列としてコピーされてしまい、マイナス数値として認識できない。
ではどうすればよいのか。
方法としては「無理やり数値に変換する」という方法がある。
使用する関数は以下の関数となる。
=IF(LEFT(対象セル,1)="▲", INT(REPLACE(対象セル,1,1,"-")), INT(対象セル))
最初の1文字目が ▲
であれば -
に置換して、それ以外のマイナスでない値なら置換しない。
最後の INT()
は ▲
を置換してなお文字列として扱われた場合の念押しに使っている。
変換すると数値計算可能な数値として認識されるようになる。
数値に変換すれば計算できる |
---|
まとめ
今回はExcelからGoogleスプレッドシートに値コピーした「▲」をマイナスとして認識する方法について説明した。
Excelの中で数式が使われている場合は、Googleスプレッドシートにコピーするときに値コピーする必要が出てくる。
しかし値コピーすると「▲」を含むマイナス数値を「文字列」として認識されてしまう。
そこでスプレッドシート側で無理やり数値に変換することで、数値として認識できるようになる。
他にもスプレッドシートに関する記事もあるので、もし気になるものがあれば見てみて欲しい。