Board logo

標題: [發問] 如何將對應的值自動填入紅字框框內 (附檔案) [打印本頁]

作者: mmokdtmj    時間: 2015-10-19 18:26     標題: 如何將對應的值自動填入紅字框框內 (附檔案)

如何將對應的值自動填入紅字框框內(TC, QD)呢?

目前我只能人工判斷, 謝謝大家.

[attach]22216[/attach]

[attach]22215[/attach]
作者: 准提部林    時間: 2015-10-20 18:06

將E2:E4的〔合併〕取消,完成公式後再合併(陣列公式無法在合併格使用)

D2.陣列公式:右拉一格,下拉一列
=MAX((N(OFFSET($B$7,ROW($1:$7),COLUMN($A:$G)*5-4))=$C2)*IF(D$1="TC",{32,16,8,6,4,2,1},$B$8:$B$14))

D4.陣列公式:右拉一格
=--RIGHT(MIN(INT(ABS(N(OFFSET($B$7,ROW($1:$7),COLUMN($A:$G)*5-4))-$C4)*10^12)*100+IF(D$1="TC",{32,16,8,6,4,2,1},$B$8:$B$14)),2)

只針對附檔,不除錯∼∼
作者: mmokdtmj    時間: 2015-10-21 20:07

回復 2# 准提部林


謝謝版主幫忙,

但我依照您的方法還是沒辦法使用,

不知道為什麼 >.<

謝謝^^"
[attach]22225[/attach]

[attach]22226[/attach]
作者: 准提部林    時間: 2015-10-21 20:16

回復 3# mmokdtmj


<陣列公式輸入法> 
輸入或修改公式完成後,游標留在〔編輯列〕,先不要按Enter,
同時按住〔Shift + Ctrl〕不放,再按〔Enter〕。

另,D4公式與上一格不一樣!
作者: mmokdtmj    時間: 2015-10-21 20:30

回復 4# 准提部林

原來如此, 謝謝您又讓我這初學者又多學到一項了,

我在來修改套用到我原本的表格, 謝謝您^^
作者: mmokdtmj    時間: 2015-10-21 21:09

回復 4# 准提部林

版主, 抱歉又有一個問題,

這問題出在我代入其它IOps數值時,

D4 和E4 就代出錯的TC 和QD了,

附件是更新的數值,

不知如何更改, ^^"


[attach]22228[/attach]

[attach]22230[/attach]
作者: 准提部林    時間: 2015-10-21 22:41

回復 6# mmokdtmj

D4:
=--RIGHT(MIN(INT(ABS(N(OFFSET($B$7,ROW($1:$7),COLUMN($A:$G)*5-4))-$C4)*10^8)*100+IF(D$1="TC",{32,16,8,6,4,2,1},$B$8:$B$14)),2)

IOps 只能在萬位數及小數點8位數以內有效!(小數點太多位數不好處理)
作者: mmokdtmj    時間: 2015-10-22 09:51

回復 7# 准提部林


版主 謝謝您,

目前可以用了,

但是IOps數據有可能會會到10萬,

是否可以不理小數點而提供IOps的判斷呢?

Thanks.
作者: hcm19522    時間: 2015-10-22 12:56

http://blog.xuite.net/hcm19522/twblog/351535118
數字亂數產生 格式不一樣 參考即可
作者: ML089    時間: 2015-10-22 13:38

  1. D2=INDEX($B$8:$B$14,MOD(MATCH(1,FREQUENCY(0,ABS($C2-N(OFFSET($B$7,ROW($1:$7),(8-COLUMN($A:$G))*5-4)))),)-1,7)+1)

  2. E2=INDEX($B$8:$B$14,MOD(MATCH(1,FREQUENCY(0,ABS($C2-N(OFFSET($B$7,ROW($1:$7),(8-COLUMN($A:$G))*5-4)))),)-1,7)+1)
複製代碼
一般公式,下拉
作者: 准提部林    時間: 2015-10-22 14:32

本帖最後由 准提部林 於 2015-10-22 14:34 編輯

回復 8# mmokdtmj


EXCEL的數字長度最多15位,超過的都顯示0,可參考以下算法:
十萬為6位數,數字*10^7,則可將小數再進位7位,合計13位,
例如:=INT(124715.272815689*10^7) = 1247152728156

尾端〔2位〕則保留給陣列參數{32,16,8,6,4,2,1},
例如:=INT(124715.272815689*10^7)*100+{32,16,8,6,4,2,1}
則產生如下結果:{124715272815632,124715272815616,124715272815608,
124715272815606,124715272815604,124715272815602,124715272815601}

最後以 RIGHT(??,2) 取出後2位參數值∼∼

可依此邏輯去推要算小數的位數∼∼

ML089 板主的公式超絕,但計算邏輯就複雜得多,看得懂也可採用∼∼ 
作者: hcm19522    時間: 2015-10-22 14:45

本帖最後由 hcm19522 於 2015-10-22 14:47 編輯

D24{=MID(INDEX($66,INT(RIGHT(MIN(IF(MOD(COLUMN($C8AG14),5)=3,ROUND(ABS(C$8:AG$14-C2),2)*10000+COLUMN(C$8:AG$14))),2)/5)*5+2),4,9)
E2:E4{=INDEX(B:B,RIGHT(MIN(IF(MOD(COLUMN($C8AG14),5)=3,ROUND(ABS(C$8:AG$14-C2),2)*10000+ROW(C$8:AG$14))),2))
作者: hcm19522    時間: 2015-10-22 14:47

D24{=MID(INDEX($66,INT(RIGHT(MIN(IF(MOD(COLUMN($C8AG14),5)=3,ROUND(ABS(C$8:AG$14-C2),2)*10000+COLUMN(C$8:AG$14))),2)/5)*5+2),4,9)
E2:E4{=INDEX(B:B,RIGHT(MIN(IF(MOD(COLUMN($C8AG14),5)=3,ROUND(ABS(C$8:AG$14-C2),2)*10000+ROW(C$8:AG$14))),2))
作者: hcm19522    時間: 2015-10-22 14:49

本帖最後由 准提部林 於 2015-10-22 17:15 編輯

D2:D4{=MID(INDEX($6:$6,INT(RIGHT(MIN(IF(MOD(COLUMN($C8:$AG14),5)=3,ROUND(ABS(C$8:AG$14-C2),2)*10000+COLUMN(C$8:AG$14))),2)/5)*5+2),4,9)
E2:E4{=INDEX(B:B,RIGHT(MIN(IF(MOD(COLUMN($C8:$AG14),5)=3,ROUND(ABS(C$8:AG$14-C2),2)*10000+ROW(C$8:AG$14))),2))
作者: hcm19522    時間: 2015-10-22 16:05

http://www.FunP.Net/225006
作者: ML089    時間: 2015-10-22 21:49

D2 =INDEX($B$8:$B$14,MID(MAX((ABS($C2-N(OFFSET($C$8,{0;1;2;3;4;5;6},{0,1,2,3,4,5,6}*5)))=MIN(ABS($C2-N(OFFSET($C$8,{0;1;2;3;4;5;6},{0,1,2,3,4,5,6}*5)))))*({7,6,5,4,3,2,1}*10+{1;2;3;4;5;6;7})),(D$1="QD")+1,1))
一般公式 右拉1格,下拉2格

接近值的求法觀念
兩數的絕對差值越小越接近,當差值為0時表示兩數相同

兩數差值陣列
= ABS($C2-N(OFFSET($C$8,{0;1;2;3;4;5;6},{0,1,2,3,4,5,6}*5)))

最小差值
= MIN(兩數差值陣列)
= MIN(ABS($C2-N(OFFSET($C$8,{0;1;2;3;4;5;6},{0,1,2,3,4,5,6}*5))))

最小差值陣列位置
= (最小差值 = 兩數差值陣列)
= (MIN(ABS($C2-N(OFFSET($C$8,{0;1;2;3;4;5;6},{0,1,2,3,4,5,6}*5)))) = ABS($C2-N(OFFSET($C$8,{0;1;2;3;4;5;6},{0,1,2,3,4,5,6}*5))))

兩數差值陣列、最小差值陣列位置 為 7*7 的陣列
垂直為 QD項有7組 * 水平為TC項有7組
QDTC位置陣列
=QD位置*10+TC位置
=({7,6,5,4,3,2,1}*10+{1;2;3;4;5;6;7})

QDTC位置組合數值
=MAX(最小差值陣列位置*QDTC位置陣列)

TC或QD位置的數值
=MID(QDTC位置組合數值,(D$1="QD")+1,1)


TC或QD數值陣列
=$B$8:$B$14

求出TC或QD數值
=INDEX(TC或QD數值陣列, TC或QD位置的數值)
=INDEX($B$8:$B$14, MID(QDTC位置組合數值,(D$1="QD")+1,1))
=INDEX($B$8:$B$14, MID(MAX(最小差值陣列位置*QDTC位置陣列),(D$1="QD")+1,1))
=INDEX($B$8:$B$14, MID(MAX((最小差值 = 兩數差值陣列)*QDTC位置陣列),(D$1="QD")+1,1))
作者: mmokdtmj    時間: 2015-10-23 15:29

謝謝大家, ML089 板主 的詳細說明, 我會在研讀了解一下, 我算是初學者, 觀念需要在建立一下, ^^
作者: ML089    時間: 2015-10-23 17:43

回復 17# mmokdtmj

公式複雜就是你的資料排列不符合資料庫型式

標準資料庫一般都2維資料表,如 IOps  ART  QD  TC

以 IOps 欄由小至大排列,這要查詢只要用VLOOKUP函數就能簡單查詢

需要看的表格再由資料庫產生。
作者: mmokdtmj    時間: 2015-10-27 14:24

回復 18# ML089

是的, 就是我同事這樣排, 導致我很煩惱-_-"




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