有網(wǎng)友問(wèn)我說(shuō),我用offset實(shí)現(xiàn)了2級(jí)聯(lián)動(dòng),但是我想實(shí)現(xiàn)3級(jí)甚至更多級(jí)的聯(lián)動(dòng),該怎么辦,因?yàn)闀r(shí)間的關(guān)系,沒(méi)有及時(shí)的給予這位朋友回復(fù),就利用這次機(jī)會(huì),來(lái)寫一下刀豆如何來(lái)實(shí)現(xiàn)3級(jí)甚至更多級(jí)的聯(lián)動(dòng)。
excel下拉菜單關(guān)聯(lián)——如何實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)下拉菜單效果
首先來(lái)說(shuō)一下我們要實(shí)現(xiàn)的效果,就是我們選擇1級(jí)菜單后,2級(jí)菜單里就有對(duì)應(yīng)1級(jí)菜單的內(nèi)容,我們選擇2級(jí)菜單的項(xiàng)的時(shí)候,3級(jí)菜單會(huì)產(chǎn)生對(duì)應(yīng)2級(jí)菜單項(xiàng)的內(nèi)容,以此類推,來(lái)說(shuō)一下我實(shí)現(xiàn)這種功能的原理,就是為不同的列的內(nèi)容設(shè)置了名稱,而這個(gè)名稱恰好就是上一級(jí)菜單里的選擇項(xiàng)。這樣的情況下,在數(shù)據(jù)有效性中的函數(shù)讀取的其實(shí)是引用這個(gè)名詞所對(duì)應(yīng)的區(qū)域內(nèi)的內(nèi)容,也就把我們下一級(jí)的菜單內(nèi)容讀取出來(lái)了。
接下來(lái),我們來(lái)準(zhǔn)備數(shù)據(jù),根據(jù)第一步所描述的原理,我將列名進(jìn)行了顏色處理,以方便大家去理解。
從1級(jí)項(xiàng)到3級(jí)項(xiàng),高級(jí)別項(xiàng)是下一級(jí)的列名,這就是我們的數(shù)據(jù)源的格式,如果有的網(wǎng)友問(wèn),不加這些列名可以嗎?回答是:可以的,不加列名的話,你需要知道每列對(duì)應(yīng)的上一級(jí)的內(nèi)容,加上只是方便查看。
接下來(lái)的一步是Office2003同2003以上版本不同的地方,創(chuàng)建名稱,2003需要逐一創(chuàng)建,而像2013可以全選以后,系統(tǒng)會(huì)根據(jù)選擇區(qū)域自行創(chuàng)建,不過(guò)逐一創(chuàng)建也有好處,就是我們不會(huì)出現(xiàn)部分值出現(xiàn)2次的現(xiàn)象。接下來(lái),我們就逐一進(jìn)行創(chuàng)建,首先創(chuàng)建“百度”的2級(jí)項(xiàng)內(nèi)容。選中數(shù)據(jù)區(qū)域。
點(diǎn)擊Ctrl+F3,或者從菜單欄中選擇“插入”—“名稱”—“定義”。
需要注意的是,系統(tǒng)會(huì)默認(rèn)所選區(qū)域的首單元格內(nèi)容為當(dāng)前工作薄名稱,我們需要改為上一級(jí)的名稱。這里,它的上一級(jí)是“百度”。
點(diǎn)擊“添加”,這樣一個(gè)工作薄的名稱就添加完成了,剩下的同理。
全部添加完成后,我們就完成了對(duì)所需要的數(shù)據(jù)區(qū)域的命名工作。
StringUtils類常用的方法講解
1.publicstaticbooleanisEmpty(Stringstr)
判斷某字符串是否為空,為空的標(biāo)準(zhǔn)是str==null或str.length()==0
下面是StringUtils判斷是否為空的示例:
StringUtils.isEmpty(null)=true
StringUtils.isEmpty(“”)=true
StringUtils.isEmpty(“”)=false//注意在StringUtils中空格作非空處理
StringUtils.isEmpty(“”)=false
StringUtils.isEmpty(“bob”)=false
StringUtils.isEmpty(“bob”)=false
2.publicstaticbooleanisNotEmpty(Stringstr)
判斷某字符串是否非空,等于!isEmpty(Stringstr)
下面是示例:
StringUtils.isNotEmpty(null)=false
StringUtils.isNotEmpty(“”)=false
StringUtils.isNotEmpty(“”)=true
StringUtils.isNotEmpty(“”)=true
StringUtils.isNotEmpty(“bob”)=true
StringUtils.isNotEmpty(“bob”)=true
3.publicstaticbooleanisBlank(Stringstr)
判斷某字符串是否為空或長(zhǎng)度為0或由空白符(whitespace)構(gòu)成
下面是示例:
StringUtils.isBlank(null)=true
StringUtils.isBlank(“”)=true
StringUtils.isBlank(“”)=true
StringUtils.isBlank(“”)=true
StringUtils.isBlank(“tnfr”)=true//對(duì)于制表符、換行符、換頁(yè)符和回車符
StringUtils.isBlank()//均識(shí)為空白符
StringUtils.isBlank(“b”)=false//”b”為單詞邊界符
StringUtils.isBlank(“bob”)=false
StringUtils.isBlank(“bob”)=false
StringUtils方法的操作對(duì)象是Java.lang.String類型的對(duì)象,是JDK提供的String類型操作方法的補(bǔ)充,并且是null安全的(即如果輸入?yún)?shù)String為null則不會(huì)拋出NullPointerException,而是做了相應(yīng)處理,例如,如果輸入為null則返回也是null等,具體可以查看源代碼)。如果大家還想了解更多與之有關(guān)的信息,歡迎關(guān)注我們優(yōu)詞網(wǎng)的官網(wǎng)。