精華區beta Office 關於我們 聯絡資訊
軟體: MS office excel 版本: 2003 我現在想做一個功能, 從一大筆含名字的數字中, 數字少於5萬的有多少人,5萬~10萬有多少人,依此類推,並製作成表. 然後5萬的乘一個數字,5~10萬的乘一個數字,加總起來. 請問有辦法寫出來或有內建函數嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.65.196.100
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)