Board logo

標題: [發問] 多條件判斷編製名稱 需要用什麼函數 [打印本頁]

作者: 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嗎?
試試看:
  1. Public arW, arL
  2. '取得寛度與長度界限的陣列, 供Match用
  3. Sub init()
  4.     ReDim arW(3) As Integer
  5.     ReDim arL(3, 3) As Integer
  6.     Dim W1 As Integer, L1 As Integer
  7.     arW(0) = Split(Cells(3, 3), "~")(1)    '寛度的上限
  8.     For W1 = 0 To 2
  9.         arW(W1 + 1) = Split(Cells(W1 * 3 + 3, 3), "~")(0) '寛度按降冪排
  10.         For L1 = 0 To 2
  11.             arL(W1, L1) = Split(Cells(W1 * 3 + L1 + 3, 5), "~")(0)   '長度按升冪排
  12.         Next
  13.         arL(W1, L1) = Split(Cells(W1 * 3 + L1 + 2, 5), "~")(1)     '長度的上限
  14.     Next
  15. End Sub

  16. Private Sub CommandButton1_Click()
  17.     Dim I As Integer, J As Integer, arL2(3) As Integer
  18.     Dim MHW, MHL, IDW As String, IDL As String
  19.     init
  20.     For I = 4 To [G4].End(xlDown).Row
  21.         MHW = Application.Match(Cells(I, 8), arW, -1)
  22.         IDW = Application.Index([B1:B11], MHW * 3, 1)
  23.         For J = 0 To 3
  24.             arL2(J) = arL(MHW - 1, J)    '將2維陣列轉為1維陣列
  25.         Next
  26.         MHL = Application.Match(Cells(I, 9), arL2, 1)
  27.         '長度代號分[D3:D5,D6:D9,D10:D12]三區
  28.         IDL = Application.Index([D3:D5,D6:D8,D9:D11], MHL, 1, MHW)
  29.         Cells(I, 10) = IDW & "_" & IDL
  30.     Next
  31. 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/)