Excel 進(jìn)階——從工作到工程 6 可用性維護(hù)

本文介紹如何利用保護(hù)工作表和保護(hù)工作簿等功能,限制可編輯區(qū)域,設(shè)置數(shù)據(jù)驗(yàn)證,以保證復(fù)雜的邏輯關(guān)系不會(huì)被隨意改動(dòng)。


系列教程索引和配套練習(xí)文件,請(qǐng)點(diǎn)這里。


經(jīng)過(guò)前面幾番折騰,咱手上這份 Excel 文檔的公式引用結(jié)構(gòu)可謂相當(dāng)復(fù)雜。發(fā)給同事使用的時(shí)候,難免人家因?yàn)椴磺宄澈蟮倪壿?,而在無(wú)意中進(jìn)行一些破壞性的修改,導(dǎo)致失效。

作為一個(gè)工具性的 Excel 表格,我們制作的目的是讓電腦自動(dòng)完成識(shí)別分類(lèi)的工作,節(jié)省人力。這個(gè)過(guò)程可以簡(jiǎn)化為,用戶(hù)粘貼進(jìn)來(lái)三級(jí)分類(lèi),復(fù)制走一級(jí)二級(jí)分類(lèi);有需要時(shí)可以改動(dòng)分類(lèi)體系,其余的功能可以暫時(shí)丟掉。


打開(kāi) Example 6.xlsx,切換至 Tamplate 工作表。

首先為大量的分類(lèi)工作預(yù)留位置,將 A3 和 B3 的公式,向下填充至 A5000 和 B5000 行,這里的數(shù)字根據(jù)日常工作經(jīng)驗(yàn)確定。但是發(fā)現(xiàn)在三級(jí)分類(lèi)為空的地方,一二級(jí)分類(lèi)出現(xiàn)了 #N/A 的錯(cuò)誤,所以在一二級(jí)公式中加入三級(jí)分類(lèi)是否為空的判斷,修改 A3 處公式如下

=IF(C3="", "", VLOOKUP($C3, CHOOSE({1,2}, INDIRECT(Settings!$B$5):INDIRECT(Settings!$B$8), INDIRECT(Settings!$B$3):INDIRECT(Settings!$B$6)), 2, FALSE))

同理,B3 處公式如下

=IF(C3="", "", VLOOKUP($C3, CHOOSE({1,2}, INDIRECT(Settings!$B$5):INDIRECT(Settings!$B$8), INDIRECT(Settings!$B$4):INDIRECT(Settings!$B$7)), 2, FALSE))

然后再將 A3 和 B3 向下填充至 5000 行即可。

使用保護(hù)工作表時(shí),默認(rèn)情況下除了選取單元格外,對(duì)整個(gè)工作表的任何編輯是被禁止的,而我們需要用戶(hù)輸入三級(jí)分類(lèi),所以需要將三級(jí)分類(lèi)的位置設(shè)置為 “
允許用戶(hù)編輯區(qū)域 ”,這樣在啟動(dòng)保護(hù)工作表時(shí),該部分才可以被修改。

切換至 “ 審閱 ” 標(biāo)簽,點(diǎn)擊 “ 允許用戶(hù)編輯區(qū)域 ”。

審閱 - 允許用戶(hù)編輯區(qū)域

在彈出的退化框中點(diǎn)擊 “ 新建 ” 按鈕,添加一個(gè)可允許編輯的區(qū)域。

允許用戶(hù)編輯區(qū)域?qū)υ捒?/div>

為該區(qū)域設(shè)置一個(gè)名稱(chēng);并且選中三級(jí)分類(lèi)所在的區(qū)域,這里根據(jù)常用工作量來(lái)判斷,將 C3:C5000 設(shè)置為可編輯區(qū)域;下方的區(qū)域密碼為空,這樣才可以不受限制的編輯該區(qū)域。

修改區(qū)域?qū)υ捒?/div>

單擊 “ 確定 ” 按鈕,可以看到剛剛設(shè)置的區(qū)域已經(jīng)被添加到了允許用戶(hù)編輯的列表中。再次單擊 “ 確定 ” 按鈕。

接著,在頂部 Ribbon 工具欄中單擊 “ 保護(hù)工作表 ” 按鈕。

審閱 - 保護(hù)工作表

在彈出的對(duì)話框中,輸入密碼,例如 “ amazing ”,下方的權(quán)限采用默認(rèn)設(shè)置即可,單擊 “ 確定 ” 按鈕。

保護(hù)工作表對(duì)話框

在新彈出的對(duì)話框中再次輸入一遍剛剛輸入的密碼,單擊 “ 確定 ” 按鈕。

確認(rèn)密碼對(duì)話框

至此即完成了對(duì) Tamplate 工作表的保護(hù),除 C3:C5000 區(qū)域外其他位置都不可以被編輯改動(dòng)了。

針對(duì) Settings 工作表,采用類(lèi)似的處理,保留 tab 參數(shù),也即 C9 位置的編輯權(quán),其余用密碼保護(hù)起來(lái)。如此,用戶(hù)可以更改 tab 參數(shù)來(lái)切換分類(lèi)體系,但是不會(huì)輕易將 Settings 中的其余參數(shù)搞混淆。


現(xiàn)在的工作簿結(jié)構(gòu)是可以被修改的,也即用戶(hù)可以增加和刪除工作表。如果分類(lèi)體系相對(duì)固定,則可以使用保護(hù)工作簿功能,限制對(duì)工作表的增加和刪除。

單擊工具欄中的 “ 保護(hù)工作簿 ” 按鈕。

審閱 - 保護(hù)工作簿

在彈出的對(duì)話框中輸入密碼,單擊 “ 確定 ” 按鈕,然后再次輸入密碼以確認(rèn)。

保護(hù)結(jié)構(gòu)和窗口對(duì)話框

這里的密碼可以與剛剛設(shè)置的 “ amazing ” 不同,但在本例中,仍然使用剛才的密碼。

至此,各個(gè)工作表的結(jié)構(gòu)被鎖定,無(wú)法增加或刪除。整個(gè)工作簿中唯一能改動(dòng)的內(nèi)容即剛剛所設(shè)置的兩個(gè)允許編輯的區(qū)域,以及 Genre 和 Hehe 工作表。在日常使用中,只需將三級(jí)分類(lèi)粘貼到 C3:C5000 的位置,即可從 A3:B5000 的位置上復(fù)制一級(jí)分類(lèi)和二級(jí)分類(lèi),非常方便。


一些說(shuō)明

  • 如果不對(duì)工作簿進(jìn)行保護(hù),而又不想用戶(hù)隨意修改 Settings 工作表,可以將其隱藏,右鍵工作表選項(xiàng)卡單擊 “ 隱藏 ” 即可。
隱藏工作表
  • 設(shè)置密碼只是為了防止意外的修改將現(xiàn)有體系破壞,當(dāng)工作表的功能需要繼續(xù)升級(jí)或者進(jìn)行修正時(shí),需要取消保護(hù)工作表,以及取消保護(hù)工作簿,因而這套密碼的目的并非出于保密。我個(gè)人推薦將密碼作為參數(shù)寫(xiě)到 Settings 中,以防遺忘,也能方便他人在頭腦清醒的情況下對(duì)表格做出修繕。
記錄密碼

最后,做一點(diǎn)錦上添花的工作,為三級(jí)分類(lèi)添加數(shù)據(jù)驗(yàn)證。該操作需要在工作表沒(méi)有被保護(hù)的情況下進(jìn)行。首先切換到 Tamplate 工作表,單擊上方工具欄中的 “ 撤銷(xiāo)保護(hù)工作表 ” 按鈕。

審閱 - 撤銷(xiāo)保護(hù)工作表

在彈出的對(duì)話框中輸入密碼,并確定。

撤銷(xiāo)保護(hù)工作表對(duì)話框

然后選擇 C3:C5000 區(qū)域,在 “ 數(shù)據(jù) ” 選項(xiàng)卡中單擊 “ 數(shù)據(jù)驗(yàn)證 ” 按鈕。

數(shù)據(jù) - 數(shù)據(jù)驗(yàn)證

在彈出的對(duì)話框中,將 “ 允許 ” 下拉列表設(shè)置為 “ 序列 ”,勾選 “ 提供下拉箭頭 ” 復(fù)選框,并在 “ 公式 ” 處填寫(xiě)如下公式

=OFFSET(INDIRECT(Settings!$B$10), 0, 0, Settings!$B$2)

即,所有符合規(guī)定的值必須是所使用的三級(jí)分類(lèi)體系里面的值。

Paste_Image.png

在 “ 出錯(cuò)警告 ” 選項(xiàng)卡中,按如下內(nèi)容設(shè)置,并確定。

數(shù)據(jù)驗(yàn)證對(duì)話框

這樣就給 C3:C5000 區(qū)域設(shè)置了數(shù)據(jù)驗(yàn)證,單擊其中的一個(gè)可以發(fā)現(xiàn)在右側(cè)有一個(gè)下拉箭頭,里面提供了所有合法的三級(jí)分類(lèi)值,點(diǎn)擊其中一個(gè)即可選擇。

當(dāng)手動(dòng)輸入的三級(jí)分類(lèi)無(wú)效時(shí),Excel 會(huì)給出如下圖所示的警告,提示用戶(hù)進(jìn)行修改或確認(rèn)。

數(shù)據(jù)驗(yàn)證警告

兩個(gè)說(shuō)明

  • 數(shù)據(jù)保護(hù)只能檢測(cè)用戶(hù)輸入的數(shù)據(jù),對(duì)于粘貼到 C3:C5000 區(qū)域內(nèi)的數(shù)據(jù),是無(wú)能為力的。
  • 如果公示太長(zhǎng)了不易閱讀,可以將公示拆開(kāi)換行,使用 Alt + Enter 鍵。Excel 會(huì)忽略空格和換行符,所以可以有更直觀的公式排版方式,像下面這樣。
=IF(
      C3 = "",
      "",
      VLOOKUP(
          $C3,
          CHOOSE(
              {1,2},
              INDIRECT(Settings!$B$5):INDIRECT(Settings!$B$8),
              INDIRECT(Settings!$B$3):INDIRECT(Settings!$B$6)
          ),
          2,
          FALSE
      )
)

如此便完成了 Example 6.xlsx。


下一課中,將做一個(gè)簡(jiǎn)要的總結(jié),談?wù)勑牡谩?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本例為設(shè)置密碼窗口 (1) If Application.InputBox(“請(qǐng)輸入密碼:”) = 1234 Th...
    浮浮塵塵閱讀 14,882評(píng)論 1 20
  • 最近大火的韓劇《今生是第一次》憑借清新浪漫的情節(jié),和極其符合現(xiàn)代社會(huì)80后現(xiàn)實(shí)的生活感悟而引起了大量的年輕觀眾的共...
    mi穿衣服的刺猬閱讀 279評(píng)論 0 0
  • 每次都感覺(jué)自己有很多想法,可是想表達(dá)出來(lái),卻感覺(jué)好難。寫(xiě)出來(lái)的,都不是自己要表達(dá)的。之前有看到一篇文章說(shuō),每天寫(xiě)一...
    柒月的玖閱讀 180評(píng)論 0 0
  • 【姓名】蘇建新 【派別】文魁派 【導(dǎo)師】王玉印、袁文魁 【分舵】聞雞起武 【舵主】劉麗瓊 因?yàn)槲淞钟?jì)劃第一課我沒(méi)有...
    建新思維導(dǎo)圖閱讀 242評(píng)論 4 1
  • 不知道從何時(shí)開(kāi)始少了很多交流 少了晚安 少了思念 少了很多的東西 心理有時(shí)候會(huì)很空 會(huì)在安靜的時(shí)候一個(gè)人脆弱 一個(gè)人鬧心
    小小面閱讀 321評(píng)論 0 0

友情鏈接更多精彩內(nèi)容