推 lytton:用SUMIF 06/21 13:00
> -------------------------------------------------------------------------- <
作者: nube3315 (寫os作業) 看板: Office
標題: Re: [算表] excel的公式寫法
時間: Wed Jun 21 11:55:08 2006
※ 引述《atpx (秋雨的心情)》之銘言:
: 軟體: MS office excel
: 版本: 2003
: 我現在想做一個功能,
: 從一大筆含名字的數字中,
: 數字少於5萬的有多少人,5萬~10萬有多少人,依此類推,並製作成表.
: 然後5萬的乘一個數字,5~10萬的乘一個數字,加總起來.
: 請問有辦法寫出來或有內建函數嗎?
有辦法。提供兩個。
一個是。
excel有if函數,你可以在另一列寫 if(A1) < 15 印 1之類的,我不太記得
實際的寫法,可能要再查一些內建的函數說明,你可以利用if 這個函數
在一個新的一行中紀錄下,假定符合條件的就等於人數乘1個數字。假定符合
另一個條件就乘另一個數字。用if應該辦得到。
新的數據列好以後再用sum就可以了。
另一個方法就是用vba去寫一個程式
到巨集選vba編輯器。
寫一個 sub routine
像這樣
sub sub的名稱
end sub
這個區塊裡面就可以寫你想要做的事情的程式碼。
所以像去讀excel的值,用if判斷式 ,再寫回去excel儲存格裡的動作
如果你會寫程式的話是滿容易實作出來的,因為我等一下要考試,
不太能花時間寫出怎麼實作的細節
只能給你一個參考的方向。
--
你以為我不知道你是誰
我以為你不知道我愛你
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.241.161
推 atpx:感謝,我先嚐試看看. 不會寫程式 XD 06/21 12:19
推 atpx:資料有好幾百筆,if可以區分每筆嗎? 感覺好像只能一格一格對應 06/21 12:26
推 nube3315:你可以先填好一格 後面用小黑十字拉 或是點兩下也可以 06/21 17:34
> -------------------------------------------------------------------------- <
作者: nube3315 (寫os作業) 看板: Office
標題: Re: [算表] excel的公式寫法
時間: Wed Jun 21 17:50:18 2006
我試了一下if,簡單講一下怎麼用。
假設你現在B3:B6有四筆資料叫 400,500,600,700
現在用if讓大於500的儲存格除100 而小於100的儲存格加1
這個時候,你先隨便找一個儲存格輸入 =if(B3>500,B3/100,B3+1)
其中第一個參數是條件,第二個是true的值,第三個是false的值
這個時候應該會變這樣子
A B C D
1
2
3 400 401
4 500
5 600
6 700
你點D3的右下角會出現黑十字,把滑鼠拉到D6,會自動以相同的格式填滿
還有一個作法是你選擇C3去寫=IF... blah blah blah的剛剛那些東西
這時候如果你在右下角點兩下,他就會自動幫你填滿,只限定在儲存格剛好在隔壁的時候
像在D那行就只能用拉的。
做完以後就會變這樣
A B C D
1
2
3 400 401
4 500 501
5 600 6
6 700 7
這樣每一格都弄好一後 再用sum就可以加總了。
※ 引述《nube3315 (寫os作業)》之銘言:
: ※ 引述《atpx (秋雨的心情)》之銘言:
: : 軟體: MS office excel
: : 版本: 2003
: : 我現在想做一個功能,
: : 從一大筆含名字的數字中,
: : 數字少於5萬的有多少人,5萬~10萬有多少人,依此類推,並製作成表.
: : 然後5萬的乘一個數字,5~10萬的乘一個數字,加總起來.
: : 請問有辦法寫出來或有內建函數嗎?
: 有辦法。提供兩個。
: 一個是。
: excel有if函數,你可以在另一列寫 if(A1) < 15 印 1之類的,我不太記得
: 實際的寫法,可能要再查一些內建的函數說明,你可以利用if 這個函數
: 在一個新的一行中紀錄下,假定符合條件的就等於人數乘1個數字。假定符合
: 另一個條件就乘另一個數字。用if應該辦得到。
: 新的數據列好以後再用sum就可以了。
: 另一個方法就是用vba去寫一個程式
: 到巨集選vba編輯器。
: 寫一個 sub routine
: 像這樣
: sub sub的名稱
: end sub
:
: 這個區塊裡面就可以寫你想要做的事情的程式碼。
: 所以像去讀excel的值,用if判斷式 ,再寫回去excel儲存格裡的動作
: 如果你會寫程式的話是滿容易實作出來的,因為我等一下要考試,
: 不太能花時間寫出怎麼實作的細節
: 只能給你一個參考的方向。
--
兩個人 一條線 黑底白字的過去
已過去的過去
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.241.161
> -------------------------------------------------------------------------- <
作者: atpx (秋雨的心情) 看板: Office
標題: Re: [算表] excel的公式寫法
時間: Wed Jun 21 18:29:13 2006
感謝.不過現在問題更麻煩了,要用累進計算.
這一大筆資料中,除了要統計哪些區間的數字共有多少之外,
還要用累進進行加權,
假設 0~100000 *1, 100001~200000 *2.依此類推.
也就是一個數字999999的話,要拆成100000*1 + 100000*2 +....依此類推.
然後把所有數字累進的結果加總. @@
.
※ 引述《nube3315 (寫os作業)》之銘言:
: 我試了一下if,簡單講一下怎麼用。
: 假設你現在B3:B6有四筆資料叫 400,500,600,700
: 現在用if讓大於500的儲存格除100 而小於100的儲存格加1
: 這個時候,你先隨便找一個儲存格輸入 =if(B3>500,B3/100,B3+1)
: 其中第一個參數是條件,第二個是true的值,第三個是false的值
: 這個時候應該會變這樣子
: A B C D
: 1
: 2
: 3 400 401
: 4 500
: 5 600
: 6 700
: 你點D3的右下角會出現黑十字,把滑鼠拉到D6,會自動以相同的格式填滿
: 還有一個作法是你選擇C3去寫=IF... blah blah blah的剛剛那些東西
: 這時候如果你在右下角點兩下,他就會自動幫你填滿,只限定在儲存格剛好在隔壁的時候
: 像在D那行就只能用拉的。
: 做完以後就會變這樣
: A B C D
: 1
: 2
: 3 400 401
: 4 500 501
: 5 600 6
: 6 700 7
: 這樣每一格都弄好一後 再用sum就可以加總了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.65.196.100
> -------------------------------------------------------------------------- <
作者: KAMESANMA (我的稿費全送給首推!!) 看板: Office
標題: Re: [算表] excel的公式寫法
時間: Thu Jun 22 16:23:46 2006
※ 引述《atpx (秋雨的心情)》之銘言:
: 軟體: MS office excel
: 版本: 2003
: 我現在想做一個功能,
: 從一大筆含名字的數字中,
: 數字少於5萬的有多少人,5萬~10萬有多少人,依此類推,並製作成表.
: 然後5萬的乘一個數字,5~10萬的乘一個數字,加總起來.
: 請問有辦法寫出來或有內建函數嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.65.196.100
推 lytton:用SUMIF 06/21 13:00
我也覺得這些問題如同l大說的, 使用SUMIF及COUNTIF可能比較快
=SUMIF(<判別資料範圍>,<條件>,<需加總資料範圍>)
=COUNTIF(<判別資料範圍>,<條件>)
例:
現在假設資料如下:
A
1 15,000
2 25,000
3 17,000
4 35,000
要計算10,000~19,999
20,000~29,999
30,000~39,999 的數字項各有幾項時:
=COUNTIF(A1:A4,">9999")-COUNTIF(A1:A4,">19999")
=COUNTIF(A1:A4,">19999")-COUNTIF(A1:14,">29999")
(以下略)
要有條件的加總時:
=SUMIF(A1:A4,">9999")-SUMIF(A1:A4,">19999")
(以下略)
而以你的問題,需要加權的情形下
其實
15000*2+17000*2 和 (15000+17000)*2 的答案是相同的 (指數率)
所以只要把 SUMIF 的答案再各乘上各自要乘的指數就可以了
--
其他有關 SUMIF 的用法 (廣告?!)
http://www.wretch.cc/blog/KAMESANMA&article_id=2010150
--
新台幣永遠都存不多, P幣存那麼多是存心酸的哦!?
我的稿費, 全都送給首推!! (箭頭不算)
我要萬年『債台高築』啦!! (其實我比較想要「債臺高築」,但PTT不准 orz)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.20.72.67
→ KAMESANMA:想順便問一下,在這種情況下,這兩個函數可以直接設範圍 06/22 16:24
→ KAMESANMA:嗎? 試不出來 ^^a 06/22 16:26
※ 編輯: KAMESANMA 來自: 211.20.72.67 (06/22 16:54)