標題:
[發問]
多條件判斷編製名稱 需要用什麼函數
[打印本頁]
作者:
mina324
時間:
2015-12-5 23:36
標題:
多條件判斷編製名稱 需要用什麼函數
[attach]22719[/attach]
想請教各位高手 如附圖
若 項目A 寬為750 長為70 則在I欄自動編製W1_L2
請問這樣的多條件判斷該怎麼寫成公式呢?
作者:
mina324
時間:
2015-12-5 23:57
標題:
RE: 多條件判斷編製名稱 需要用什麼函數
抱歉圖片沒上傳好
[attach]22722[/attach]
作者:
准提部林
時間:
2015-12-6 10:20
回復
2#
mina324
可否上傳檔案?
寫公式也須範例為參照,不要讓解題者再多花時間去建立資料!
作者:
hcm19522
時間:
2015-12-6 10:59
http://blog.xuite.net/hcm19522/twblog/362889454
作者:
yen956
時間:
2015-12-6 13:03
可以用VBA嗎?
試試看:
Public arW, arL
'取得寛度與長度界限的陣列, 供Match用
Sub init()
ReDim arW(3) As Integer
ReDim arL(3, 3) As Integer
Dim W1 As Integer, L1 As Integer
arW(0) = Split(Cells(3, 3), "~")(1) '寛度的上限
For W1 = 0 To 2
arW(W1 + 1) = Split(Cells(W1 * 3 + 3, 3), "~")(0) '寛度按降冪排
For L1 = 0 To 2
arL(W1, L1) = Split(Cells(W1 * 3 + L1 + 3, 5), "~")(0) '長度按升冪排
Next
arL(W1, L1) = Split(Cells(W1 * 3 + L1 + 2, 5), "~")(1) '長度的上限
Next
End Sub
Private Sub CommandButton1_Click()
Dim I As Integer, J As Integer, arL2(3) As Integer
Dim MHW, MHL, IDW As String, IDL As String
init
For I = 4 To [G4].End(xlDown).Row
MHW = Application.Match(Cells(I, 8), arW, -1)
IDW = Application.Index([B1:B11], MHW * 3, 1)
For J = 0 To 3
arL2(J) = arL(MHW - 1, J) '將2維陣列轉為1維陣列
Next
MHL = Application.Match(Cells(I, 9), arL2, 1)
'長度代號分[D3:D5,D6:D9,D10:D12]三區
IDL = Application.Index([D3:D5,D6:D8,D9:D11], MHL, 1, MHW)
Cells(I, 10) = IDW & "_" & IDL
Next
End Sub
複製代碼
[attach]22724[/attach]
作者:
准提部林
時間:
2015-12-6 14:12
回復
2#
mina324
寬度剛好400,700算哪個區間? 超過1000呢?
長度同樣問題~~
作者:
ANGELA
時間:
2015-12-6 14:22
J5=LOOKUP(H5,{0;400;700},{"W3";"W2";"W1"})&"_"&LOOKUP(I5,CHOOSE(RIGHT(LOOKUP(H5,{0;400;700},{"W3";"W2";"W1"})),{0;50;100},{0;30;50},{0;20;50}),{"L1";"L2";"L3"})
作者:
mina324
時間:
2015-12-7 00:18
回復
3#
准提部林
准提部林版主抱歉,我是初學者,公式還不夠熟悉,沒能附上檔案,
下次我會多注意並努力學習的。 sorry
作者:
mina324
時間:
2015-12-7 00:31
hcm19522、ANGELA 謝謝你們幫我解決問題。
yen956 VBA我正在學習,謝謝你特地幫我寫了程式,我會研究看看的。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)