PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   想請教Excal的條件式問題 (https://www.pcdvd.com.tw/showthread.php?t=934589)

老柏(第三) 2011-07-01 09:06 AM

想請教Excal的條件式問題
 
假設我寫一個程式會產生excel報告,每次產生的數量不一


但是我在報告空白出寫一些統計資料(內容會增加或減少,總之範圍相同)

總平均 =AVERAGE(E12:O31)
標準差 =STDEV(E12:M31)
最大值 =MAX(E12:M31)
最小值 =MIN(E12:M31)


我有沒有辦法在這堆"數字"中加條件式,比如說 >0.5&<1才列入計算範圍
(為何強調數字,因為我看到excel的資料庫類型的函式,它必須文字+數字才能使用)

a28812126 2011-07-01 11:12 AM

引用:
作者老柏(第三)
假設我寫一個程式會產生excel報告,每次產生的數量不一


但是我在報告空白出寫一些統計資料(內容會增加或減少,總之範圍相同)

總平均 =AVERAGE(E12:O31)
標準差 =STDEV(E12:M31)
最大值 =MAX(E12:M31)
最小值 =MIN(E12:M31)


我有沒有辦法在這堆"數字"中加條件式,比如說 >0.5&<1才列入計算範圍
(為何強調數字,因為我看到excel的資料庫類型的函式,它必須文字+數字才能使用)

=IF(xx,XX,xx)~~~是你最佳的好朋友喔!!

azteq 2011-07-01 12:08 PM

資料庫函數
DSUM(database,field,criteria)

翻help,找criteria(準則)-> 多組準則方面的說明

fandango 2011-07-01 12:10 PM

daverage;dstdev;dmin;dmax
可自行加入判斷式,
只適用在計算資料位於同一行

不想改資料格式的話
就是把原資料用if整理過,把不合的用文字取代後再用一般常用公式

老柏(第三) 2011-07-01 01:56 PM

感謝各位回答

我先說一下,我是懂資料庫(daverage;dstdev;dmin;dmax)的方式(我也是看說明學著用的)

原先的內容如下(我寫程式產生的報表)


問題是如果我總平均....等那些值要用資料庫用法的話勢必要多出紅色框框的那些東西,我在想說有沒有辦法在函式中寫判斷式,就不用多出那些沒用途的中文字

azteq 2011-07-01 02:39 PM

F6~G7 準則部份,看是設到另一張sheet或是用儲存格格式 自訂格式->打 ;;;
這樣就會隱藏

至於第12列,用 格式->列->隱藏 (理論上應該不會影響資料庫函數使用,你試試看)

如果要極致完美,可能要寫一堆vba或作一堆轉換中介報表,你可以試試~~

老柏(第三) 2011-07-01 04:37 PM

引用:
作者azteq
F6~G7 準則部份,看是設到另一張sheet或是用儲存格格式 自訂格式->打 ;;;
這樣就會隱藏

至於第12列,用 格式->列->隱藏 (理論上應該不會影響資料庫函數使用,你試試看)

如果要極致完美,可能要寫一堆vba或作一堆轉換中介報表,你可以試試~~

感謝,隱藏真的不會有影響ㄟ

靶F6~G7打在表單結尾再隱藏,一樣有效:p:p:p

edjc 2011-07-01 10:28 PM

引用:
作者老柏(第三)
假設我寫一個程式會產生excel報告,每次產生的數量不一


但是我在報告空白出寫一些統計資料(內容會增加或減少,總之範圍相同)

總平均 =AVERAGE(E12:O31)
標準差 =STDEV(E12:M31)
最大值 =MAX(E12:M31)
最小值 =MIN(E12:M31)


我有沒有辦法在這堆"數字"中加條件式,比如說 >0.5&<1才列入計算範圍
(為何強調數字,因為我看到excel的資料庫類型的函式,它必須文字+數字才能使用)


我用最笨的公式寫看看(兩段式IF判斷式)
你可以試試看

引用:
總平均
=if(AVERAGE(E12:O31)<1,if(AVERAGE(E12:O31) >0.5,AVERAGE(E12:O31),),)

標準差
=if(STDEV(E12:M31)<1,if(STDEV(E12:M31)>0.5,STDEV(E12:M31),),)

最大值 =
=if(MAX(E12:M31)<1,if(MAX(E12:M31) >0.5,MAX(E12:M31),),)

最小值 =
=if(MIN(E12:M31)<1,if(AVERAGE(E12:O31) >0.5,AVERAGE(E12:O31),),)



寫法都一樣

edjc 2011-07-01 11:26 PM

附上我寫的檔案

我把上下限分成兩個可以輸入的空格
可以方便日後修改您要的數值

http://07hd.com/CKEMJKY5NNPP/PCDVD.xls.html

老柏(第三) 2011-07-02 08:08 PM

引用:
作者edjc
附上我寫的檔案

我把上下限分成兩個可以輸入的空格
可以方便日後修改您要的數值

http://07hd.com/CKEMJKY5NNPP/PCDVD.xls.html

感謝

原本我想說我自己寫不要當伸手牌,沒想到您自己貼上範例給我看,謝謝


所有的時間均為GMT +8。 現在的時間是01:49 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。