iT邦幫忙

0

請教如何用excel陣列找出數字

請問各位大大,
我有個excel問題請求大大協助解答,如下:
A1~F20區域有1~36數字分布,如何用陣列找出出現次數最少及次少的數字,分別存入I1及I2

https://ithelp.ithome.com.tw/upload/images/20200212/201233693V4ipaM6XQ.jpg

看更多先前的討論...收起先前的討論...
slime iT邦大師 1 級 ‧ 2020-02-12 14:03:55 檢舉
msgbox('臨兵鬥者皆"陣列"在前')

countif(a1:f20, 1)
countif(a1:f20, 2)
countif(a1:f20, 3)
....
countif(a1:f20, 36)

然後把每個數字出現次數取 min 跟 max

再把 min 次數跟 max 次數, 筆對前面的出現次數, 如果出現次數相符, 那個數字(可能不只一個)就是出現最少或最多的數字.
如果有二個(或以上)的數字出現最少(或最多),怎麼辦?
slime iT邦大師 1 級 ‧ 2020-02-12 14:21:05 檢舉
題目沒有要求, 可能:
1. 排名類的, 並列.
2. 系統類的, 不處理, 出現錯誤.
3. 抽獎類的, 隨機抽一個.
wsj560115 iT邦新手 5 級 ‧ 2020-02-12 14:29:56 檢舉
如果有二個(或以上)的數字出現,取最小值,謝謝!
froce iT邦大師 2 級 ‧ 2020-02-12 16:55:23 檢舉
樞紐分析...
怎麼那麼愛用公式去解決問題啊,這個用公式就是事倍功半。

真要程式做,python pandas沒幾行就好了。

1 個回答

0
paicheng0111
iT邦高手 1 級 ‧ 2020-02-12 14:18:19
最佳解答

試試看
輸入完畢後要按Ctrl+Shift+Enter

最少

=MATCH(MIN(COUNTIF($A$1:$F$20,ROW($A$1:$A$36))),COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),0)

最多

=MATCH(MAX(COUNTIF($A$1:$F$20,ROW($A$1:$A$36))),COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),0)

能否剔除掉未出現的數字,僅計算A1~F20有出現的數字

=MATCH(MIN(IF(COUNTIF($A$1:$F$20,ROW($A$1:$A$36))>0,COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),"")),IF(COUNTIF($A$1:$F$20,ROW($A$1:$A$36))>0,COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),""),0)

出現次少(第二少)數字如何用陣列計算出來

=MATCH(MIN(IF((COUNTIF($A$1:$F$20,ROW($A$1:$A$36))>MIN(IF(COUNTIF($A$1:$F$20,ROW($A$1:$A$36))>0,COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),""))),COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),"")),IF((COUNTIF($A$1:$F$20,ROW($A$1:$A$36))>MIN(IF(COUNTIF($A$1:$F$20,ROW($A$1:$A$36))>0,COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),""))),COUNTIF($A$1:$F$20,ROW($A$1:$A$36)),""),0)
看更多先前的回應...收起先前的回應...
wsj560115 iT邦新手 5 級 ‧ 2020-02-12 14:46:59 檢舉

請問大大,您這個最少出現的數字也包含1~36未出現的一起計算,能否替除掉未出現的數字,僅計算A1~F20出現的數字,還有次少要怎麼計算,謝謝您!

wsj560115 iT邦新手 5 級 ‧ 2020-02-12 20:02:36 檢舉

請問大大,出現次少(第二少)數字如何用陣列計算出來,煩請開示,感恩!

wsj560115 iT邦新手 5 級 ‧ 2020-02-13 08:35:40 檢舉

感謝Paicheng0111再次幫忙,感恩!祝福 大大 一切順心如意!!

WSJ=華爾街日報嗎?

wsj560115 iT邦新手 5 級 ‧ 2020-02-14 12:49:38 檢舉

大大是名字縮寫

我要發表回答

立即登入回答