論文に投稿しようと準備している遺伝子名が含まれるエクセルファイルを眺めていて、遺伝子名apr-1やoct-1が1-Aprとか1-Octに変換されているのに気付きました。昔よく話題になったエクセルの大欠陥です。
https://genomebiology.biomedcentral.com/articles/10.1186/s13059-016-1044-7
現在Office 365版のExcelだけは、日付への自動変更を無効にするオプションが選択できるようになっているそうです。
https://www.itmedia.co.jp/news/articles/2310/24/news091.html
しかし永年利用ができるOffice 2021など Office365以外のOfficeのExcelではこの無効化オプションは選べないそうです。
私のExcelでは下の表の真ん中の列のように遺伝子名が日付に変換されます。最初の列はセルの書式設定を文字列にしてから入れた遺伝子名で、セルの書式設定を文字列に設定しておくと自動変換されません。
oct-1 | 1-Oct | 45931 |
apr-1 | 1-Apr | 45748 |
apr-2 | 2-Apr | 45749 |
sep-1 | 1-Sep | 45901 |
最初の列の遺伝子名のセルの右が、なにもしないで遺伝子名を入れた時自動で変換されてしまった日付です。oct-1といれると勝手に1-Oct(10月1日)になってしまいます。この誤変換された列を選択して右クリックでセルの書式設定を文字列にした結果が,右の列の45931などの数値です。1-Octは45931に変換されています。この数値は1900年1月1日を1とした経過日数を示しており、2025/10/1に対応しています。
エクセルファイルで誤って日付に変換されてしまったセルをみつけるのにはこの数値を使うことができます。
まず新しいシートに現在のシートをコピーしてそちらで探してみましょう。
誤変換した日付があるかどうか調べたい列を全部選択し、右クリックでセルの書式設定を文字列に変えます。すると日付になっているセルだけセルの中身が数字(上の表の45931などの数値)に変わるので数字だけのセルを見つければOKです。元のシートとくらべれば遺伝子名を復元するのは容易です。誤変換される遺伝子名はそんなに多くないので、この方法でチェックするのが簡単ですので、一度試してみてください。もちろんオンラインでエクセルファイルから日付に変わったセルを見つけるサイトとか、VBAマクロやPythonスクリプトで探すこともできます。その辺のことは明日書くことにします。ではおやすみなさい。