小弟從外面匯至Excel的資料內容如下有5欄資料:
頻道1 轉速 總量值 電壓值 偏移值
(1) (100) ( 2.1) ( 8.5) ( 0.5)
(2) (120) (1.8) (8.4) (0.52)
(*) (*) (*) (*) (*)
(176) (3600) (2.0) (8.7) (0.58)
(*) (*) (*) (*) (*)
(400) (8080) (2.8) (8.7) (0.59)
頻道2 轉速 總量值 電壓值 偏移值
(1) (100) (3.5) (8.2) (0.49)
(2) (120) (3.4) (8.4) (0.5)
(*) (*) (*) (*) (*)
(176) (3600) (3.7) (8.6) (0.54)
(*) (*) (*) (*) (*)
(400) (8080) (3.6) (8.7) (0.55)
-------------------------------------------------------------------------------------------------------------
以上有10個頻道的資料,每頻道內的Data筆數是一樣的,例如這次匯進來有400筆Data,則每個頻道內都一樣有400筆Data,但每次匯進來的Data數量不固定,可能下次有500筆或1000筆Data。
請問如何以轉速欄位為範圍,在各頻道轉速100~3600範圍內,分別找出各頻道內總量值的最大值,並將各頻道最大值整列的數據複製起來,依頻道順序由上而下貼到空白儲存格。vba可解決嗎?謝謝各位。
2006-09-24 12:57:11 · 3 個解答 · 發問者 ? 3 in 電腦與網際網路 ➔ 軟體
沙拉油前輩說的沒錯,我到沒想到附上這個連結,謝謝提醒,也煩請大家有空時幫忙一下,Thanks.
2006-09-26 13:43:53 · update #1
Sheet1!外面匯至Excel的資料內容 Sheet2!空白儲存格 A B C D E A B1頻道1 轉速 總量值 電壓值 偏移值 頻道1 2.12 1 100 2.1 8.5 0.5 頻道2 3.53 2 120 1.8 8.4 0.52 . 頻道3 . 4頻道2 轉速 總量值 電壓值 偏移值5 1 100 3.5 8.2 0.496 2 120 3.4 8.4 0.57頻道3 轉速 總量值 電壓值 偏移值8.9.1首先將滑鼠指定在Sheet2!B1 定義名稱:〔插入〕〔名稱〕〔定義〕〔現有名稱〕輸入:轉速參照到公式輸入=INDIRECT("Sheet1!$B$"&MATCH(Sheet2!A1,Sheet1!A:A,0)+1&":$B$"&MATCH(Sheet2!$A2,Sheet1!A:A,0)-1)新增[現有名稱〕輸入:總量值參照到公式輸入:INDIRECT("Sheet1!$C$"&MATCH(Sheet2!A1,Sheet1!A:A,0)+1&":$C$"&MATCH(Sheet2!$A2,Sheet1!A:A,0)-1)新增B1公式=MAX((轉速>=100)*(轉速<=3600)*(總量值))先試著作如每頻道二項可完成,相信再來應沒問題INDIRECT最主要是尋求頻道位子開始與結束
2006-09-25 08:06:39 補充:
陣列公式輸入完公式同時按Ctrl+Shift+Enter
2006-09-25 22:06:34 補充:
依範本H2:=INDEX(A:A,MAX(IF((MAX((轉速>=100)*(轉速<=3600)*(總量值))=總量值),ROW(總量值),"")))輸入完公式同時按Ctrl+Shift+Enter 定義名稱:轉速=INDIRECT("Sheet1!$B$"&MATCH(Sheet1!$G2,Sheet1!$A:$A,0)+1&":$B$"&MATCH(Sheet1!$G3,Sheet1!$A:$A,0)-1)
2006-09-25 22:14:25 補充:
定義名稱:總量值=INDIRECT("Sheet1!$C$"&MATCH(Sheet1!$G2,Sheet1!$A:$A,0)+1&":$C$"&MATCH(Sheet1!$G3,Sheet1!$A:$A,0)-1)將公式右拉到L2,再下拉G2 Channel 1 修改為 頻道1G3 Channel 2 修改為 頻道2
2006-09-25 22:29:00 補充:
感謝沙拉油大大提供範本,有範本解答就輕鬆多了
2006-09-24 19:17:16 · answer #1 · answered by 顯栓 7 · 0⤊ 0⤋
我想這應該也是 ryan 發問的,在底下的連結他有附上問題的範本。
http://www.excelhelp.net/cgi-bin/forum/topic.cgi?forum=8&topic=4809&show=0
2006-09-25 16:57:23 · answer #2 · answered by 沙拉油 5 · 0⤊ 0⤋
HIJKLM1 頻道位置總量值 2 頻道113.5 3 頻道2 4 頻道3 5 頻道4 6 頻道5 7 頻道6 8 頻道7 9 頻道8 10 頻道9 11 頻道10 12 資料終點=J24+J23 設資料在A1..En請如上圖輸入I欄輸入頻道1---頻道10J2輸入公式=MATCH(I2,A$1:A$20000,1)K2輸入公式=MAX(IF(INDIRECT("B"&J2+1&":B"&J3-1)<=3600,IF(INDIRECT("B"&J2+1&":B"&J3-1)>=100,INDIRECT("C"&J2+1&":C"&J3-1))))輸完公式同時按[Shift]+[Ctrl]+[Enter]使公式變成{=MAX(IF(INDIRECT("B"&J2+1&":B"&J3-1)<=3600,IF(INDIRECT("B"&J2+1&":B"&J3-1)>=100,INDIRECT("C"&J2+1&":C"&J3-1))))}COPY J2..K2 TO J11J12輸入公式 =J10+J11OK**I欄頻道名稱需和資料區頻道名稱一致解說 J2..J11 找出各頻道起點 K2..K11找出最大總量值,範圍(100--3600)
2006-09-24 21:10:20 · answer #3 · answered by Bill Yen 5 · 0⤊ 0⤋