スプレッドシートでラジオボタンを作成する方法は?

スプレッドシートでラジオボタンを作成する方法は?

スプレッドシートで、ラジオボタンを配置したいと思ったことはありませんか?スプレッドシートにはラジオボタン機能は搭載されていませんが、擬似的なラジオボタンを作成することが可能です。この記事では、スプレッドシートで擬似的なラジオボタンの作成方法をご紹介しています。


目次[非表示]

  1. スプレッドシートでラジオボタンは作成できる?

スプレッドシートでラジオボタンは作成できる?

GoogleスプレッドシートでExcelのラジオボタン・オプションボタンのようなものを配置したいと思ったことはありませんか?スプレッドシートにはラジオボタン機能は搭載されていませんが、擬似的なラジオボタンを作成することが可能です。この記事では、スプレッドシートで擬似的なラジオボタンの作成方法をご紹介していきます。

「挿入」タブをクリック→「チェックボックス」をクリック
それでは、スプレッドシートで擬似的なラジオボタンの作成を行ってみましょう。まずは、セルにチェックボックスの挿入を行います。対象のセルを選択した状態で画面上部の「挿入」タブをクリックして表示されるメニューの中から「チェックボックス」をクリックしましょう。
チェックボックスを挿入することができた
これで、チェックボックスを挿入することができます。チェックボックス自体をクリックすることで、チェックボックスのオン・オフを切り替えることができます。
対象範囲にチェックボックスを追加する
あとは、同じ手順で対象範囲にチェックボックスを追加しましょう。この例では、A1セルからE1セルまでチェックボックスを配置しています。現時点では、画像のようにすべてのチェックボックスのオン・オフを自由に切り替えられるためラジオボタンとしては機能しません。
「拡張機能」タブ→「Apps Script」をクリック
ラジオボタンとして起動させるには、「Google Apps Script(GAS)」を使用してスクリプトを組みます。画面上部の「拡張機能」タブをクリックしてメニューを開き、「Apps Script」をクリックしましょう。
スクリプトの編集画面に下記のスクリプトを入力し、「保存」ボタンをクリック
スクリプトの編集画面が表示されるので、下記のスクリプトを入力していきます。スクリプトの入力が完了したら、画面上部の「保存」ボタンをクリックしましょう。アカウントのログイン画面が表示されるので、画面の指示通りに進みます。
function radioCheckbox() {
  var mySheet = SpreadsheetApp.getActiveSheet(); //シートを取得する
  var myCell = mySheet.getActiveCell(); //アクティブセルを取得する
  
  // 範囲を指定する(1行目の1〜5列目までの指定)
  if ( myCell.getRow() == 1 && myCell.getColumn() >= 1 && myCell.getColumn() <= 5 ) {
    var rule = myCell.getDataValidation();
    if (rule != null) {
      var criteria = rule.getCriteriaType();
      // チェックボックス
      if ( criteria == 'CHECKBOX' ) {
        mySheet.getRange("A1:E1").setValue(false); // 範囲を一度すべて解除する
        myCell.setValue(true); // アクティブセルだけ有効にする
      }
    }
  }
}
「(シート名)に移動」をクリック
自分で作成したスクリプトを最初に保存する際は、画像のように「このアプリはGoogleで確認されていません」という警告画面が表示されます。「(シート名)に移動」をクリックすることで問題なく保存することができるので、ここから進みましょう。
「トリガー」をクリック→「トリガーを追加」をクリック
スクリプトの保存が完了したら、左側メニューの「トリガー」をクリックして開きます。画面右下の「トリガーを追加」をクリックしましょう。
「イベントの種類を選択」のプルダウンメニューから「変更時」を選択して「保存」ボタンをクリック
「(シート名)のトリガーを追加」ダイアログボックスが表示されるので、「イベントの種類を選択」のプルダウンメニューから「変更時」を選択して「保存」ボタンをクリックしましょう。こちらもアカウントのログイン画面が表示されるので、画面の指示に従ってトリガーの保存を行いましょう。
「実行」ボタンをクリック
あとは左側メニューの「コード」をクリックしてスクリプトを表示して、画面上部の「実行」ボタンをクリックしましょう。これで、スクリプトが実行されます。
いずれかのチェックボックスをクリックしてオンにしてから、別のチェックボックスをクリックして動作を確認してみよう
この状態でいずれかのチェックボックスをクリックしてオンにしてから、別のチェックボックスをクリックしてみましょう。スクリプトの反映にラグがありますが、最初にクリックしたチェックボックスのチェックが解除されて別のチェックボックスのチェックのみが残るようになりますよ。

以上が、スプレッドシートで擬似的なラジオボタンの作成方法の説明となります。


関連記事