Board logo

標題: [發問] 函數中的位置如何用其他函數取代 [打印本頁]

作者: wind6424    時間: 2019-5-2 17:49     標題: 函數中的位置如何用其他函數取代

本帖最後由 wind6424 於 2019-5-2 17:56 編輯

假設 MATCH("NW",Sheet1!A:A,0)=32
請教要如何把 "MATCH("T1",Sheet2!32:32,0)" 這公式中的32:32 數字部分都用 "MATCH("NW",Sheet1!A:A,0)" 取代
另外如公式是 "MATCH("TX",Sheet2!A32:A3000,0)",
那此公式內的"A32"中後面數子"32"要如何用"MATCH("NW",Sheet1!A:A,0)" 取代

下面問題先問起來備份
如果想把"A32"中的A也用公式取代,例如用 "MATCH("BT",Sheet1!10:10,0)=9"取代要如何做
作者: zheng211016    時間: 2019-5-18 21:01

請提供檔案 我在幫你
作者: wind6424    時間: 2020-5-15 00:37

過去發問當時用了別的方式處理就忘了這個提問,
這次遇到問題發現是一樣的,重新發問

網路上找到方式可以用陣列方式搜尋到A欄第二個"項目"位置
{=INDEX(SMALL(IF(INDIRECT("'工作表1'!$A$1:$A$500")="項目",ROW(1:500)),ROW(1:500)),2)}
問題一 : 想請問有可以不用陣列的方式取代上方的公式嗎? ,或是自訂公式內要如何輸入上方陣列的函數?

問題二 : 然後我想用上方公式找到"項目"位置的值來取到下方MATCH公式內的 "工作表1!7:7 "這個字串,函數要如何套用
=MATCH("總計",工作表1!7:7,0)

[attach]32017[/attach]
[attach]32018[/attach]
作者: 准提部林    時間: 2020-5-15 11:24

D3:下拉
=SUM(OFFSET(D3,,-1,,1-COLUMN(D$1)))


B5/陣列公式:右拉
=SUM(OFFSET(B5,-1,,MATCH(1,0/($A$1:$A4="項目"))-ROW()+1))
或/一般公式
=SUM(OFFSET(B5,-1,,MMULT(1,MATCH(1,0/($A$1:$A4="項目"))-ROW()+1)))
=SUM(OFFSET(B5,-1,,LOOKUP(1,0/($A$1:$A4="項目"),ROW($1:4))-ROW()+1))


=============================
作者: 准提部林    時間: 2020-5-15 11:30

B5:
=SUM(B$1:B4)-SUMIF($A$1:$A4,"總計",B$1:B4)*2

這是先加後減法, 參考即可(若有錯誤無法檢查)
作者: wind6424    時間: 2020-5-15 12:51

B5:
=SUM(B$1:B4)-SUMIF($A$1A4,"總計",B$1:B4)*2

這是先加後減法, 參考即可(若有錯誤無法檢查)
准提部林 發表於 2020-5-15 11:30


准提部林 大大非常感謝您的回覆,
非常抱歉我表示不清楚,如果是固定方式尋找總數位置我知道如何做的,

問題在我的表會一直新增,我想要能用函數抓出第二表的整個位置範圍,我就可以應用在圖表自動顯示上,
我是想要設計兩個圖表,一個是顯示新增的部份,第二個是顯示前一個表的數據,每次用拉的很煩,
所以想要用函數來抓取,圖永遠顯示前兩個表的資料

目前我可以抓到在A欄第二表的"項目"位置跟"總計"位置,
還差一個第7列的右方"總計"位置,
這個位置用 MATCH("總計",工作表1!7:7,0) 是可以取得,
問題每次新增資料表的內容大小都會不一樣,導致第二表目前看到的 7:7 列會是浮動的,
而7這個數字我已可以用 {=INDEX(SMALL(IF(INDIRECT("'工作表1'!$A$1:$A$500")="項目",ROW(1:500)),ROW(1:500)),2)}這個函數取得,
但我不知道要如何把取的值套用在 MATCH 函數內取待輸入的 "7:7"這個值,
只要可以取代或是其他方式可以抓出浮動位置,就可以套用到圖上
作者: 准提部林    時間: 2020-5-15 14:45

回復 6# wind6424

抓範圍???
=INDEX(A:A,SMALL(IF(A1:A21="總計",ROW(1:21)),2)):INDIRECT(TEXT(SMALL(IF(B1:G21="總計",ROW(1:21)/1%+COLUMN(B:G)),2),"!r0c00"),)
第一表:2 改 1

或:
=INDIRECT(TEXT(SUM(SMALL(IF(A1:G21="總計",ROW(1:21)/1%+COLUMN(A:G)),{3,4})*10^{4,0}),"!r0c00!:!r00c00"),)
第一表: {3,4} 改 {1,2}
作者: wind6424    時間: 2020-5-15 18:01

回復  wind6424

抓範圍???
=INDEX(A:A,SMALL(IF(A1:A21="總計",ROW(1:21)),2)):INDIRECT(TEXT(SMALL(I ...
准提部林 發表於 2020-5-15 14:45


感謝 准提部林 大您的回覆,我在研究看看
關於抓範圍
只要能抓出表二兩個總計位置,
就可以利用 OFFSET 這函數來套用到圖上,以後只要更新資料
我是想要透過總計位置抓出藍色跟黃色框框數據位置,製做成原餅圖跟直條圖,
表一起始位置固定比較好寫,表二遇到不知道如何把其他函數取的值套用到另一個函數內
[attach]32027[/attach]
作者: 准提部林    時間: 2020-5-15 20:42

回復 8# wind6424


有點麻煩, 用了幾個定義名稱:
[attach]32028[/attach]
作者: wind6424    時間: 2020-5-16 11:29

回復  wind6424

有點麻煩, 用了幾個定義名稱:
准提部林 發表於 2020-5-15 20:42


看懂您的定義如何互相套用,
真的非常感謝您,
謝謝




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)