贊助廠商

///本部落格所有文章列表///

搜尋本部落格文章資料

在 Excel 中取得如下的資料表,試著來練習OR運算。

1.挑出項目是甲,乙,丙的內容來加總

(1) 儲存格D3:{=SUM(IF((A2:A27="甲")+(A2:A27="乙")+(A2:A27="丙"),B2:B27,0))}

陣列公式,輸入完成要按Ctrl+Alt+Enter。

根據A欄中符合條件者對應的B欄內容陣列來運算,公式中的「+」為OR運算。

(2) 儲存格D6:=SUMPRODUCT((A2:A27="甲")+(A2:A27="乙")+(A2:A27="丙"),B2:B27)

使用SUMPRODUCT函數,也是使用陣列觀念來計算。(此公式不是陣列公式)

(3) 儲存格D9:{=SUM(IF(A2:A27={"甲","乙","丙"},B2:B27,0))}

改良(1)的作法,公式更精簡。

2.挑出內容小於20或是大於80者來加總

(1) 儲存格D13:{=SUM(IF((B2:B27<20)+(B2:B27>80),B2:B27,0))}

陣列公式,輸入完成要按Ctrl+Shift+Enter。

根據B欄中符合條件者的內容陣列來運算。

(2) 儲存格D16:=SUMPRODUCT((B2:B27<20)+(B2:B27>80),B2:B27)

這些公式中都沒有使用OR函數來執行OR運算,而是以「+」運算子來執行OR運算。

image01

創作者介紹
創作者 vincent 的頭像
vincent

學不完.教不停.用不盡

vincent 發表在 痞客邦 留言(3) 人氣()


留言列表 (3)

發表留言
  • pttbbs
  • 請問如果想製作一個藥物劑量計算機,先用年紀分,小於某個年紀顯示不可使用、大於某個年紀顯示某個固定劑量、唯有介於其中者進入試算公式,此時需要以體重作為自變數,應變數為劑量。拜讀版大文章許久,因故請益之。感謝回覆!
  • 由於您沒有附上範例,簡單回答,如果以8~18歲要計算藥的劑量,則公式的觀念可設為:
    =if(年紀<8,A劑量,if(年紀>18,B劑量,體重X藥劑比例))
    或是您貼上一些範例,再來思考。

    vincent 於 2014/08/23 22:21 回覆

  • pttbbs
  • 舉例:
    某藥物年紀6個月以下禁用,12歲以上用固定劑量每日兩顆。年紀介於其中的小朋友每天每公斤劑量為0.4mg。
  • 參考:http://isvincent.pixnet.net/blog/post/43839256
    看看是否合用!

    vincent 於 2014/08/24 10:46 回覆

  • Jay149
  • 請教vincent大
    {=OFFSET($A$1,SMALL(IF(OR($AP$2:$AP$536="A",$AP$2:$AP$536="B",$AP$2:$AP$536="C"),4^7,ROW($A$1:$A$535)),ROW()-1),COLUMN()+1)}
    這裡的OR為何無法以陣列執行? 是少了什麼嗎?

    另外,陣列的使用,好像應該是"ctrl+shift+Enter",文中寫"ctrl+alt+Enter"是否為筆誤呢?
  • 謝謝你,已更正錯誤之處。
    另外,你所提OR在SUMPRODUCT中的使用,主要是因為在SUMPRODUCT函數中資料是以陣列形式執行乘積和,如果使用OR函數就只會得到一個結果,而非陣列,所以無法於SUMPRDODUCT函數中運算得到正確結果。

    vincent 於 2018/06/30 15:37 回覆

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼