iT邦幫忙

1

Excel 如何藉由公式,決定選取範圍?

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20210204/20002077HHrtLnXcdx.jpg

我用sum函式手動輸入一個範圍來加總,想詢問有沒有辦法可以藉由輸入某個值,來改變sum函式內的運算範圍?比如輸入5,就自動選取B2:B6

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
ccenjor
iT邦高手 1 級 ‧ 2021-02-04 20:10:39
最佳解答

=SUM(INDIRECT("B2:B"&D2+1))
https://ithelp.ithome.com.tw/upload/images/20210204/20109881fsWCKwErpL.png
=SUM(OFFSET(B2,0,0,D2,1))
https://ithelp.ithome.com.tw/upload/images/20210204/20109881IRYhlCmoHT.png

3
paicheng0111
iT邦大師 5 級 ‧ 2021-02-05 05:33:30

還有SUM+CHOOSE以及SUM+INDEX

SUM+CHOOSE用法

https://support.microsoft.com/zh-tw/office/choose-%E5%87%BD%E6%95%B8-fc5c184f-cb62-4ec7-a46e-38653b98f5bc

語法
CHOOSE(index_num, value1, [value2], ...)

CHOOSE 函數所使用的value引數可以是範圍參照,也可以是單一值。

例如,公式:

=SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))

計算結果:

=SUM(B1:B10)

會根據範圍 B1:B10 中的值傳回數值。

首先評估 CHOOSE 函數,並傳回 B1:B10 參照。 然後再使用 B1:B10 評估 SUM 函數,並將 CHOOSE 函數的結果做為其引數。

SUM+INDEX用法

=SUM(B2:INDEX(B2:B11,D2))

基本上,stack overflow上應該都會用這個解法,因為沒有用到OFFSETINDIRECTCHOOSE等volatile functions。

lushnsy iT邦新手 2 級 ‧ 2021-02-05 11:13:29 檢舉

謝謝說明,很詳細的答覆

2
海綿寶寶
iT邦大神 1 級 ‧ 2021-02-05 09:52:39

過了這麼多年
當年的邦友只剩下richardsuma和我了
真是/images/emoticon/emoticon10.gif

由於上面已經有你要的解答了
也因為你是我看過第一個隔了這麼久時間還回來的邦友
我很好奇你的職涯內容
可以冒昧請你分享嗎?
/images/emoticon/emoticon41.gif

lushnsy iT邦新手 2 級 ‧ 2021-02-05 11:06:49 檢舉

其實是剛好想到這邊能發問而已/images/emoticon/emoticon01.gif

理工背景,跑去金融業,後來就搞金融大數據,現在轉戰運彩大數據。

如果有什麼好康的消息
還請不吝分享嘿...
/images/emoticon/emoticon24.gif

我要發表回答

立即登入回答