iT邦幫忙

0

google excel的下拉式連動的問題

之前先建立第一層第二層的連動文件
https://ithelp.ithome.com.tw/upload/images/20201222/201309637FAp8n0elT.png

google資料驗證設定後,下拉選單連動都沒問題
https://ithelp.ithome.com.tw/upload/images/20201222/20130963P6TlvtKtP8.png

在(B2:B)驗證資料,出處和Pay都可以連動第二層的顯示

但我想要指定(D10),驗證資料pay卻帶不出來

為何呢?

附連結
https://docs.google.com/spreadsheets/d/1Qam4vvoqc72rTOAucUUynGba-LNK-jJxXAbMiWZCVUc/edit?usp=sharing

指令碼編輯器如下

function depDrop_(range, sourceRange){
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit (){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
if (aColumn == 1 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
else if (aColumn == 2 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}

}
看更多先前的討論...收起先前的討論...
微笑 iT邦新手 3 級 ‧ 2020-12-23 11:35:30 檢舉
看不懂,階層連動下拉的驗證需要程式碼嗎@@

而且表單下載下來後試了一下,驗證下拉的部份選到靠下面的資料就會沒辦法往回選上面的資料....
微笑 iT邦新手 3 級 ‧ 2020-12-23 11:40:00 檢舉
aColumn只判斷1跟2的情況,也就是只對第A跟B欄作動囉,D欄不會有反應,C欄的下拉應該也是吃不到程式的,是自己拉驗證的嬤?
微笑 iT邦新手 3 級 ‧ 2020-12-23 12:16:17 檢舉
你看這是不是你要的

https://docs.google.com/spreadsheets/d/1XVOrGylTkF-shwgHtkak1Ejx9Rij17J1KrCqs1lqglk/edit?usp=sharing
對對~這是我要的。請問怎麼弄的呢?謝謝
我查看分頁標籤,一定要從列的排位?
微笑,我弄了列排位,仍無法帶出。也無法查你的程式碼,是否可提供一下。謝謝您
微笑 iT邦新手 3 級 ‧ 2021-01-29 16:18:09 檢舉
抱歉,我這邊沒有通知,原來問題沒處理完嗎

這個範例沒有程式碼,我的下拉資料來自於 工作表3
改變 工作表1 的 B2 跟 D2 都會影響到工作表3的條件基準
C2 跟 E2 的下拉資料再從更新過的 工作表3 提取

如果找不到我的話直接寄站內信吧
微笑 iT邦新手 3 級 ‧ 2021-01-29 17:14:13 檢舉
行排位也可以的
列排函數使用 VLookUp
行排函數使用 HLookUp

尚未有邦友回答

立即登入回答