メインコンテンツへスキップ
見出し画像

noteの表をGoogleスプレッドシートから作る方法

    noteには表を作る機能がありません。
    この記事ではこんな表をgoogleスプレッドシートから簡単に作る方法をお伝えします

    順位都道府県人口1東京都141921842神奈川県92236953大阪府87703154愛知県74652505埼玉県7329258\begin{array}{|c|c|c|}\hline 順位 & 都道府県 & 人口 \\ \hline 1 & 東京都 & 14192184 \\ \hline 2 & 神奈川県 & 9223695 \\ \hline 3 & 大阪府 & 8770315 \\ \hline 4 & 愛知県 & 7465250 \\ \hline 5 & 埼玉県 & 7329258 \\ \hline \end{array}

    Googleスプレッドシートとマクロの実行

    Googleアカウントが必要です。
    マクロ(通称GAS)の使い方が分かる方は、適当に読み飛ばしていただいて構いません。

    スプレッドシートを新規作成します。

    画像
    Chromeでgoogleアカウントにログインします。
    スプレッドシートを呼び出します。
    画像
    拡張機能からApps Scriptを選ぶ

    次のコードをコピペしてください。

    function convertToKaTeXWithBorders() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var range = sheet.getActiveRange();
      var values = range.getValues();
      var result = '\\begin{array}{|' + 'c|'.repeat(values[0].length) + '}\\hline\n';
    
      for (var i = 0; i < values.length; i++) {
        for (var j = 0; j < values[i].length; j++) {
          var cellValue = values[i][j];
          if (typeof cellValue === 'string') {
            // 予約文字を二重に重ねる
            cellValue = cellValue.replace(/([&%$#_{}~^\\])/g, '\\$1\\$1');
          } else {
            cellValue = String(cellValue);
          }
          result += cellValue;
          if (j < values[i].length - 1) {
            result += ' & ';
          }
        }
        result += ' \\\\ \\hline\n';
      }
    
      result += '\\end{array}';
    
      // 結果を表示
      Logger.log(result);
      SpreadsheetApp.getUi().alert(result);
    }
    画像
    変更を保存します
    画像
    スプレッドシートに戻って、マクロを登録します
    画像
    マクロの関数を追加します

    スプレッドシートで表を作成します。
    表を選択してマクロを呼び出します。

    画像
    表を選択して先ほど登録したマクロを実行します

    最初の1回だけ承認を求められるので、承認します

    画像
    画像
    画像

    このようなポップアップが出れば成功です
    これを選択してコピーします。

    画像

    noteに貼り付け

    noteの記事を普通に作成します。
    先頭と最後に$$をつけて先ほどコピーした内容を貼り付けます。

    画像

    このようになれば成功です。

    順位都道府県人口1東京都141921842神奈川県92236953大阪府87703154愛知県74652505埼玉県7329258\begin{array}{|c|c|c|}\hline 順位 & 都道府県 & 人口 \\ \hline 1 & 東京都 & 14192184 \\ \hline 2 & 神奈川県 & 9223695 \\ \hline 3 & 大阪府 & 8770315 \\ \hline 4 & 愛知県 & 7465250 \\ \hline 5 & 埼玉県 & 7329258 \\ \hline \end{array}

    以上となります
    バグや機能改良の要望があればコメント欄からご連絡ください。


    以下広告
    この記事を見ているのはnoteのクリエイターかと思います。
    私が読んだ書籍の中から役にたったと思うものを紹介します。


    この記事が参加している募集

     
     
    生成系AIに関する情報をお伝えします。本業はC++プログラマーです。Amazonアソシエイトを使用しています。

    あなたへのおすすめ