在列A中給定一個(gè)整數(shù)值,例如單元格A2,并且2 <= A2 <= 100,要在列B中(例如單元格B2)使用公式進(jìn)行判斷:如果列A中的值是素?cái)?shù),則返回“素?cái)?shù)”,如下圖1所示。
圖1
素?cái)?shù)也稱質(zhì)數(shù),是指在大于1的自然數(shù)中,除了1和它本身外不再有其他因數(shù)的自然數(shù)。
先不看答案,自已動(dòng)手試一試。
公式
公式1:=IF(SUM(–ISERR(FIND(“.”,A2/ROW(INDIRECT(“A1:A”&A2)))))=2,”素?cái)?shù)”,””)
其原理為,將值除以1至其本身的各個(gè)數(shù),然后查找結(jié)果中的小數(shù)。如果是素?cái)?shù)的話,那么結(jié)果中只有兩個(gè)不是小數(shù)。
例如,如果A2中的值為11,則公式1可轉(zhuǎn)換為:=IF(SUM(–ISERR(FIND(“.”,A2/ROW(INDIRECT(“A1:A”&11)))))=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM(–ISERR(FIND(“.”,A2/ROW(INDIRECT(“A1:A11″)))))=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM(–ISERR(FIND(“.”,A2/ROW($A$1:$A$11))))=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM(–ISERR(FIND(“.”,11/{1;2;3;4;5;6;7;8;9;10;11})))=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM(–ISERR(FIND(“.”,{11;5.5;3.66666666666667;2.75;2.2;1.83333333333333;1.57142857142857;1.375;1.22222222222222;1.1;1})))=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM(–ISERR({#VALUE!;2;2;2;2;2;2;2;2;2;#VALUE!}))=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM(–{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE})=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(SUM({1;0;0;0;0;0;0;0;0;0;1})=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(2=2,”素?cái)?shù)”,””)
轉(zhuǎn)換為:=IF(TRUE,”素?cái)?shù)”,””)
得到:素?cái)?shù)
公式2:=IF(SUM(–(MOD(A2,A$2:A2)=0))=1,”素?cái)?shù)”,””)
其原理為,求值與2至其本身的各個(gè)數(shù)的余數(shù),如果只有一個(gè)余數(shù)為0,說(shuō)明是素?cái)?shù)。