返回列表 上一主題 發帖

請教 公式_跳欄並且符合條件才加總

請教 公式_跳欄並且符合條件才加總

各位前輩好
請教 公式_跳欄並且符合條件才加總
1.加總格AC13
2.從AG13開始跳4欄相加至最後欄位
2.1.當欄的第10列儲存格不以"前置" 開頭
2.2.以迴圈執行的迴圈範例如下
謝謝指導

Sub 迴圈範例()
Dim i&
[AC13] = 0
For i = 33 To 256 Step 4
   If Cells(10, i) Like "前置*" = False Then
      [AC13] = [AC13] + Cells(13, i)
   End If
Next
End Sub
'AC13 =SUMPRODUCT((MOD(COLUMN(AG:IV),4)=1)*AG13:IV13)
謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

發帖如果是求助的,
最好上傳範例測試檔, 是基本的,
也可準確根據資料結構去了解問題,
大家不想再花時間為了解題去建測試資料!!!

TOP

回復 2# 准提部林


    謝謝前輩提醒
上傳範例
謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

TOP

回復 2# 准提部林


    上傳失敗!
疑似限制上傳 回家再處裡
謝謝指導
謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

TOP

手機試上傳範例檔

管理表_20200824_2.zip (57.54 KB)

謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

TOP

回復 2# 准提部林
前輩好
手機完成範例上傳
謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

TOP

若只比對前兩字, 也可:
If Left(Cells(10, i), 2) <> "前置" Then

每3欄為一個群組, STEP  3 才對吧!

TOP

回復 7# 准提部林

1. If Left(Cells(10, i), 2) <> "前置" Then
   是! 但是不知如何加到下列公式裡,或其他方法
AC13 =SUMPRODUCT((MOD(COLUMN(AG:IV),4)=1)*AG13:IV13)

2.每3欄為一個群組, STEP  3 才對吧!
   對不起!  有一欄是備用欄 隱藏起來了
謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

TOP

回復 8# Andy2483

有看到隱藏欄,
Sub TEST()
Dim Arr, Brr, R&, C&, i&, j&, k%
R = Cells(Rows.Count, "d").End(xlUp).Row '最後一行
C = Cells(12, Columns.Count).End(xlToLeft).Column '最後一欄
Arr = Range(Cells(R, "AG"), Cells(10, C)) '定義資料範圍 AG10:???
ReDim Brr(1 To UBound(Arr) - 3, 1 To 3) '設空陣列
For i = 4 To UBound(Arr)
For j = 1 To UBound(Arr, 2) Step 4
    If Left(Arr(1, j), 2) = "前置" Then GoTo j01
    For k = 1 To 3
        Brr(i - 3, k) = Brr(i - 3, k) + Arr(i, j + k - 1)
    Next k
j01: Next j
Next i
[AC13].Resize(UBound(Brr), 3) = Brr
End Sub


'===================================

TOP

回復 9# 准提部林


    謝謝前輩指導
1.這陣列方法只懂皮毛,也需要學習! 我會藉這帖學會他
2.原本想法是用VBA下公式在AC欄 下刷得到加總值
2.1.定義資料範圍 AG10:???  :是認為下公式加到最後IV欄 空格也不影響,而且欄位增減機率很高
2.2.用下公式的方法也不簡單
謝謝指導
謝謝前輩指導
您的指導若沒即時回應: 研習中或不方便回應(工作忙.沒有PC可測試..)

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題