回覆列表
  • 1 # 潮辦公

    樓主你說的是下拉框啦。看我發的教程哦。

    很多時候,我們要收集一些表格,為了資料統一性,比如說某個班級的名稱,公司專案的名稱統一一個命名,我們會給單元格加上限制,讓它只能填某幾個數值。

    比如:某個公司的專案命名方式為1-a,2-b,3-c,4-d,5-e,6-f共有6個專案,為了專案填表的準確性,我們給它的專案名稱加上限制。

    假設我們需要在B2單元格輸入專案名稱,這裡我們選中B2單元格,資料-有效性-選擇序列-選擇待選名稱。

    當然,這個估計大家都會啦。灑灑水的事。

    假設下面一個場景,某一天,領導需要你把專案的區域填上去。

    假設1,3,5專案屬於廣東省,2,4專案廣西省,6專案海南省。如下圖:

    如果在區域選擇對應的省份下拉框,名稱選擇省份所對應的專案下拉框。意思就是,區域,只能填這三個省。如果選擇廣東省,那麼專案名稱那裡只能選擇1,3,5專案。這個怎麼操作呢?

    第一步:可以把省份的限制條件弄上。

    選中B2單元格,資料-有效性-序列-選擇G1到I1單元格。

    第二步,把省份對應的名稱關聯到專案名稱

    從名稱管理器我們可以看出,它這是引用後面三個單元格,生成了一個數組。

    至於什麼是陣列,可以看上一期的文章。

    恐怖如斯的陣列,你能不會?

    透過陣列,省份和專案名稱關聯到了一起。

    當然,為了使得資料更加好看,我們可以修改一下廣西、海南二省兩個公司的引用位置,以使得前面的數值沒有空陣列。

    改好的效果如下:

    最後一步,我們需要把專案名稱那裡和省份關聯起來。

    首先,選擇資料-有效性-序列。

    D1單元格的資料依賴於B1,所以我們希望做到把B1單元格,根據他的數值,然後利用宏表公式,把宏表公式裡面的陣列傳遞給D1。

    仔細想想,其實資料有效性裡面的序列在某種意義上來說,也是一種陣列,所以有沒有這麼一個函式,可以把函式的裡面的值所對應的值傳遞出來。

    舉個例子:

    利用indirect函式,成功引用到了C2單元格的值"B2",然後再把B2單元格的值“2”傳遞了過去,這樣就形成了二次傳遞。

    那麼上面的那個,也同樣可以透過indirect函式傳遞B1單元格的值的值。假設B1單元格是“廣東省”,那麼“=indirect(B1)”不就相當於”=廣東省”。恰好剛剛我們又做了一個宏表公式,它的名稱就是廣東省。

    這樣的話,我就得到了一個值,也就是陣列。

    我在把陣列,給序列。這樣,不就完美搞定了專案名稱下拉框二級聯動的關係了嘛?

    具體操作如下:

    選中D1單元格,資料-有效性-序列,輸入“=indirect(B1)”

    咦?居然不行。這是為啥?

    這裡我們給B1隨便選一個數據,然後再去輸入一次公式。

    這樣,也就完美解決了。

    如果下面還要弄,直接清除B1,D1的資料,其下拉框,資料聯動性不受影響。

  • 中秋節和大豐收的關聯?
  • 什麼樣的奶粉是接近母乳的奶粉?