[Excel教學] Formula太長? 計得太慢? 唔記得寫左乜? 用LET Function啦

浮浪者

287 回覆
343 Like 9 Dislike
登出 2022-07-17 09:45:09
浮浪者 2022-07-17 15:56:02
基本而家無用Algo啦, 兜兜轉轉做勁多analysis, set 晒database, 用埋machine learning, feature engineering玩到幾千個column再reduce到幾十個再加返幾百個, 玩左好多年algo既我而家都係覺得用最簡單既方法炒野係最好 唔係話佢唔work, 係唔值得花咁多時間心機上去, 我簡簡單單炒野當賺下外快好過日炒夜炒日磨夜磨, 炒到無日無之 炒野就係想令自己生活簡單輕鬆, 唔係想令自己勁大壓力

BTW, 呢個Post係講Excel
浮浪者 2022-07-20 17:43:02
最簡單既方法係咁
有唔同既話佢就會出False
浮浪者 2022-07-20 19:45:21
呢段野好簡單易run,就算10萬個cell都應該唔會點慢,當然要睇電腦速度
驚閪咩? 2022-07-28 13:36:40
有個好on9嘅問題想問

可以點樣搵到呢堆數字嘅總數?
姐係想知有幾多個10,有幾多個11咁樣
浮浪者 2022-07-28 17:41:18
=COUNTIFS($A:$A,C2)
驚閪咩? 2022-07-28 21:34:40
成功了,點解要用countifs嘅?同countif有咩分別?
我都係P、牌 2022-07-28 21:35:46
LM 夜d慢慢睇
浮浪者 2022-07-28 23:45:38
其實用countif都得,不過countifs可以做到所有countif既野,所以學有s好過無s

有s呢個可以count多條件,無s既只可以count一個條件
驚閪咩? 2022-07-29 00:04:41
學到新野,感謝Ching
驚閪咩? 2022-07-29 01:50:54

想問有冇方法可以計到邊度同一時間有BC,BE,BF嗰啲?
計1 item我用 =COUNTIFS($B$2:$F$7,G2)
浮浪者 2022-07-29 13:30:10
你問邊到同一時間有, 「邊到」既意思係問第幾個N 有你想要既Combination?

例如你想搵BE, 咁就出個1比你?
定係要1,2,3,5,6咁出?
驚閪咩? 2022-07-29 14:06:27
我係想知第1-6項入面邊個同時有B同C,B同E嗰啲


出嚟result應該係咁,呢個我手計嘅,想知如果有多啲data應該點做?
浮浪者 2022-07-29 15:01:44
你用緊既係咪office 365, 唔係既話我寫條general d, 長d既
係既話可以寫得簡潔d
浮浪者 2022-07-29 16:52:02

=SUM(IF(MMULT(($B$2:$F$7=LEFT(K2,1))*1+($B$2:$F$7=RIGHT(K2,1))*1,SEQUENCE(5,,,0))=2,1,0))

呢到有句SEQUENCE(5,,,0)
如果你係5個Column (b,c,d,e,f)咁就填5, 如果多左1個column就改做6, 如此類推
驚閪咩? 2022-07-29 16:58:39
唔係太work,可唔可以解釋吓條式
同埋我用google sheet會唔會有影響?
浮浪者 2022-07-29 17:02:39
有影響, 因為我呢d式係用ms-office excel 寫, 唔係google sheet

你試下改做咁樣, 我都唔肯定google sheet有冇MMULT, 或者食Array既方法同Excel一唔一樣

=SUM(IF(MMULT(($B$2:$F$7=LEFT(K2,1))*1+($B$2:$F$7=RIGHT(K2,1))*1,{1;1;1;1;1})=2,1,0))

你試左先, 我再解釋
驚閪咩? 2022-07-29 17:04:21

暫時都係唔work,會唔會係我有野改漏咗?
浮浪者 2022-07-29 17:18:44
=SUM(IF(MMULT(($B$2:$F$7=LEFT(K2,1))*1+($B$2:$F$7=RIGHT(K2,1))*1,{1;1;1;1;1})=2,1,0))

首先, 有句left 同right, 只係將你"BC" 既B,C 既字拆開佢
$B$2:$F$7=LEFT(K2,1)
係想搵下B2至F7入面有冇野係= B, 係就會出True, 唔係就false


$B$2:$F$7=LEFT(K2,1)*1
個*1係將true變成1, false變成0


($B$2:$F$7=LEFT(K2,1))*1+($B$2:$F$7=RIGHT(K2,1))*1
就係將=b既變成1, =c既都變成1

所以, 如果有任何一行row係有兩個1字既話, 佢就係同時搵到2個文字
即係話, sum of row = 2就係果行搵到咁解
要係一個array到sum d row而出返一個array既話, 就要用MMULT
簡單講即係咁:
1,0,0       1       1*1+0*1+0*1  =  1
0,0,1   x   1   =   0*1+0*1+1*1  =  1
1,0,1       1       1*1+0*1+1*1  =  2


然後如果佢MMULT出黎係2既, 我就轉佢做1, 唔係既轉做0. 1即係話果行係check到有野
咁最後只要將所有1加埋晒佢, 就會知道佢有幾多行係附合條件
浮浪者 2022-07-29 17:18:58
唔係你既問題, 我岩岩試左, 係Google sheet佢唔似Excel咁可以用array= x 咁出返一個array, GS只可以用1格=X 咁出一個值

Google sheet我唔熟
浮浪者 2022-07-29 17:27:16
我學識左點改喇

Google sheet既話咁寫:
=arrayformula(sum(if(MMULT(arrayformula(arrayformula($B$2:$F$7=LEFT(K2,1))*1+arrayformula(arrayformula($B$2:$F$7=RIGHT(K2,1))*1)),{1;1;1;1;1})=2,1,0)))
浮浪者 2022-07-29 17:27:56
切.J.祖契夫 2022-07-29 17:34:45
唔係直接資料連結就得咩!只係無得display出嚟但做到pivot table
吹水台自選台熱 門最 新手機台時事台政事台World體育台娛樂台動漫台Apps台遊戲台影視台講故台健康台感情台家庭台潮流台美容台上班台財經台房屋台飲食台旅遊台學術台校園台汽車台音樂台創意台硬件台電器台攝影台玩具台寵物台軟件台活動台電訊台直播台站務台黑 洞