簡體   English   中英

如何只允許在 Google 表格中選中一個復選框

[英]How do I allow for only one checkbox to be checked in Google Sheets

請參考我的電子表格以幫助回答這個問題: https://docs.google.com/spreadsheets/d/1rNH-TZFa51EL5CwcSGTj5TR-x9V46ajBFyXbTeXYqBI/edit?usp=sharing

我為我的客戶創建了一個 Google 表格 select,他們想要購買 package 交易的功能。 我想出了如何對總價格求和,但我無法弄清楚如何只允許客戶 select 每個部分只允許一定數量的盒子,這樣他們就不會因為不需要的東西而被多收/選擇更多盒子比他們應該。

每個 package 都帶有一定數量的物品,您可以從工作表的特定部分獲得。 例如,基本 package 允許 7 個附加頁面中的一個,而高級 package 允許 7 個附加頁面中的 4 個。

顯然,如果客戶想要基本的 package,我不希望客戶增加六頁 select,因為他們在選擇基本 ZEFE90A8E604A7C840E88D03A67F6B7D8 時只需支付一頁。 I need the rest of the additional page boxes to become deactivated if they choose the base package, then choose one addition page, or if they select the advanced package and select four additional pages, and so on.

forms 也是如此。 先進的 package 只讓你 select 兩個交互式 forms,所以我不希望他們有選擇兩個以上的盒子的選項。 僅當他們選擇了高級 package 交易時,才應允許此選項。

同樣,正如您所看到的,#4,對於營銷計划,客戶當然不會同時需要 Market Starter 和 Market Pro; 他們只需要 select 這些選項之一。 如果他們選擇另一個,我希望能夠停用一個盒子。

我已經閱讀了很多其他關於 OnEdit 的文章,但我不知道那是什么,我對代碼也一無所知。 我很驚訝我在這張紙上所做的一切,我希望我的問題是徹底的,但如果不是。 隨意問任何問題。 請幫忙!!

您可以改用數據驗證。

不幸的是,Sheets 沒有用於 Sheets 界面的單選按鈕,但數據驗證幾乎相同。 您可以按照步驟在此處創建它。

您可以使用以下代碼運行 onEdit 並像您有單選按鈕一樣工作:

代碼:

  function onEdit(evt) {

  var range = evt.range;
  var val = range.getValue();
  var row = range.getRow();
  var col = range.getColumn();

  // -------------------------------------
  // Only 1 checkbox per row can be ticked ---
  // i=6  because we start at Column F, then i<9 because we stop at H (Col 8)


  for(var i = 6;i<9;i++){
    if(i == col) continue;

    // We check that we are on the right row (26) and columns (6,7,8)

    if (row == 26 && col == 6 || col == 7 || col == 8){

      SpreadsheetApp.getActiveSheet().getRange(row,i).setValue('FALSE');    
    }
  }
}

注意

有時保持簡單,比嘗試做一些更復雜的事情要好得多。

您可以(自己)使用包含 3 個軟件包的簡單下拉菜單:我添加了一張表格,用公式說明了這一點。

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM