本題的主要切入點(diǎn)是: 自A2單元格開(kāi)始向下依次判斷有多少個(gè)不重復(fù)值,,再判斷不重復(fù)值的數(shù)量是不是2的倍數(shù),。 將公式運(yùn)用到條件格式當(dāng)中,就可以實(shí)現(xiàn)題目要求了,。 具體操作的方法如下: 選擇A2:C14單元格區(qū)域,,依次單擊【開(kāi)始】→【條件格式】→【新建規(guī)則】→【使用公式確定要設(shè)置格式的單元格】。 輸入以下公式: =MOD(ROUND(SUM(1/COUNTIF($A$2:$A2,$A$2:$A2)),),2) 當(dāng)選擇A2:C14單元格區(qū)域的時(shí)候,,第一個(gè)選中的單元格“A2”叫做活動(dòng)單元格,,在條件格式中可以直接針對(duì)這個(gè)單元格使用公式,Excel會(huì)自動(dòng)將公式應(yīng)用到我們提前選中的區(qū)域(A2:C14),。 接下來(lái),,我們簡(jiǎn)單說(shuō)一下條件格式中這個(gè)公式的意思。 =MOD(ROUND(SUM(1/COUNTIF($A$2:$A2,$A$2:$A2)),),2) 先來(lái)看這一部分: SUM(1/COUNTIF($A$2:$A2,$A$2:$A2)) 細(xì)心的小伙伴可能發(fā)現(xiàn)了,,這個(gè)公式中第一個(gè)A2有兩個(gè)$($A$2),,而第二個(gè)A2只有一個(gè)$($A2),這一美元到底有什么作用呢,? 說(shuō)到這里,,有必要和大家先說(shuō)說(shuō)絕對(duì)引用與相對(duì)引用: A1——相對(duì)引用,向右向下復(fù)制公式時(shí)引用的范圍都會(huì)變,; A$1——列相對(duì)行絕對(duì)引用,,向右復(fù)制公式時(shí)列標(biāo)變化而向下復(fù)制時(shí)行號(hào)不會(huì)變。 $A1——列絕對(duì)行相對(duì)引用,向右復(fù)制公式時(shí)列標(biāo)不會(huì)變而向下復(fù)制公式時(shí)行號(hào)會(huì)變,。 $A$1——向右向下復(fù)制公式時(shí)引用的范圍都不會(huì)變,。 也可以理解成這個(gè)$就像一個(gè)釘子,釘到行號(hào)前面,,行號(hào)就不變了,;釘到列標(biāo)前面,列標(biāo)就不會(huì)變了,。這么一說(shuō)有點(diǎn)像繞口令,,大家有時(shí)間可以試一下,實(shí)際動(dòng)動(dòng)手,,會(huì)更容易理解一些,。 本例中的$A$2:$A2這一部分,$A$2使用的是絕對(duì)引用,, $A2使用的是列絕對(duì)引用,。 當(dāng)公式作用到B、C列中時(shí),,引用的列都不會(huì)發(fā)生變化,,始終會(huì)計(jì)算A列的內(nèi)容。 當(dāng)公式作用到第三行時(shí),,$A2的行號(hào)發(fā)生變化,,公式的引用區(qū)域就變成 $A$2:$A3。當(dāng)公式作用到第四行時(shí),,公式的引用區(qū)域就變成$A$2:$A4…… 也就是對(duì)A列自A2開(kāi)始,,到公式所在行的數(shù)據(jù)區(qū)域進(jìn)行不重復(fù)的計(jì)數(shù)。 關(guān)于不重復(fù)計(jì)數(shù)的計(jì)算過(guò)程,,可以參考一下下面的簡(jiǎn)要說(shuō)明,。 公式中包含了一個(gè)簡(jiǎn)單的數(shù)學(xué)邏輯: 任意一個(gè)數(shù)據(jù)重復(fù)出現(xiàn)N次,N個(gè)1/N的和值為1,。 公式中的“COUNTIF($A$2:$A2,$A$2:$A2)”部分,,作用是分別統(tǒng)計(jì)$A$2:$A2這個(gè)動(dòng)態(tài)擴(kuò)展的單元格區(qū)域中,每個(gè)元素出現(xiàn)的次數(shù),。 以A14單元格為例,,返回內(nèi)存數(shù)組結(jié)果為: {4;4;4;4;4;4;4;4;2;2;2;2;1} 再使用1除以返回的內(nèi)存數(shù)組,即相當(dāng)于計(jì)算COUNTIF函數(shù)所返回內(nèi)存數(shù)組的倒數(shù),。 如果單元格的值在區(qū)域中是唯一值,這一步的結(jié)果是1,。 如果重復(fù)出現(xiàn)兩次,,這一步的結(jié)果就有兩個(gè)1/2。 如果單元格的值在區(qū)域中重復(fù)出現(xiàn)3次,結(jié)果就有3個(gè)1/3… 即每個(gè)元素對(duì)應(yīng)的倒數(shù)合計(jì)起來(lái)結(jié)果仍是1,。 最后用SUM函數(shù)求和,,得出在動(dòng)態(tài)擴(kuò)展的數(shù)據(jù)范圍中的不重復(fù)人數(shù)。 雖然這是一個(gè)數(shù)組公式,,但是在條件格式中使用數(shù)組公式時(shí),,不需要按Shift+ctrl+回車(chē)結(jié)束。 MOD函數(shù)返回不重復(fù)人數(shù)與2相除的余數(shù),。得到結(jié)果為1或是0,。在條件格式中,如果指定的條件返回邏輯值TRUE或是不等于0,,就會(huì)返回我們指定的格式,。 由于在實(shí)際運(yùn)算中,可能會(huì)因?yàn)楦↑c(diǎn)誤差造成MOD函數(shù)計(jì)算結(jié)果錯(cuò)誤,,所以在公式中使用了ROUND函數(shù),,對(duì)總?cè)藬?shù)的計(jì)算結(jié)果進(jìn)行修約保留到整數(shù)。 |
|