0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RAdvent Calendar 2022

Day 14

Rでopenxlsxを使ってエクセルファイルを読み込む際の注意点

Last updated at Posted at 2022-12-14

はじめに

Rにopenxlsxのパッケージを読み込み、loadworkbookでエクセルファイルを読み込むと下記のようなエラーメッセージが表示され、読み込めないことがあったので、当方の環境でこのエラーを解消した方法になります。

Error in substring(x[ind], so, eo) : 
  invalid multibyte string at '<83><e3><82>ッ"/>'

1.PNG

環境

R 4.1.2
openxlsx 4.2.5.1
Excel2016

取り込みたいエクセルファイル

2.PNG

対処

エクセルファイルのテーマを変更する

  • 取り込みたいエクセルファイルを開き、ページ レイアウト-フォント-フォントのカスタマイズの順にクリックする。
    3.PNG

  • 日本語文字用のフォント見出しのフォント(日本語)本文のフォント(日本語)に「Yu Gothic」と入力し、保存をクリックする。
    (プルダウンから選択することはできないので、「Yu Gothic」と入力すること!!)
    4.PNG

  • エクセルファイル自体を保存する。
    5.PNG

修正したエクセルファイルをもう一度取り込みなおす

  • エラー無く取り込める!!
    6.PNG

最後に

Excel2016以降では、エクセルのデフォルトテーマのフォントに「游ゴシック」が採用されています。
そのため、何も気にせずExcel2016以降で作成されたエクセルファイルのテーマが「游ゴシック」になっており、そのファイルをopenxlsxで読み込むと「游」の文字コードが対応していないためにエラーとなってしまうようでした。

私自身フォントにあまり詳しいわけではないので、以下想像になります。
各種Office製品や、その他エディタ等のフォントを指定する際、フォント名は日本語である必要がありません。
そもそもOfficeは日本だけで使用するものではないので、当たり前といえば当たり前かと思いますが・・・。
実際にExcelに限らず、Wordであってもフォントを選ぶ際に日本語を使った「MS ゴシック」等を必ずしも選ぶ必要はないということです。
「MS ゴシック」の場合、PC内部では「MS Gothic」としても認識されます。
今回の「游ゴシック」も「Yu Gothic」と日本語でないフォント名で指定すれば良いということでした。

とはいえ、なんでMicrosoft製品のデフォルトフォントは「游ゴシック」になってしまったんですかね・・・。
フォント自体はべつにダメとは言いませんが、「游」なんて特殊な漢字使わなけりゃいいのに・・・。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?