Страницы: 1
RSS
Сумма значений нескольких ячеек по условию, Суммировать значения из ячеек, если ячейка снизу и следующая за ней пустая
 
Доброй ночи всем)
Форумчане, подскажите как сосчитать значение в ячейке по сложному условию.
В столбце D:D надо сложить данные из столбца F:F если один заказ назначен на нескольких исполнителей и значение надо вывести напротив фамилии заказчика, т.е. в зеленые ячейки сумма должна выводиться, а в желтые не должна.
Таблица будет расти вниз, чувствую, что здесь все просто, но к ночи голова плохо работает  :(  
Изменено: Katya1212 - 30.04.2021 21:51:28
 
Если, например,  по заказу три исполнителя, но только в строке у одного нет заказчика?
Уточните , какое значение надо показывать. Замените пример на тот, в котором будет проставлен желаемый результат
 
vikttur, заменила вложение . Отвечаю на вопрос, если у заказчика три и более исполнителей, то сумма будет выводиться напротив фамилии заказчика и фамилия заказчика будет одна  и будет прописана она в первой строке заказа. При этом Фамилия заказчика  может повторяться через несколько заказов (т.к. заказчики возвращаются), НО порядковый номер и название заказа повторяться НЕ БУДУТ.
Изменено: Katya1212 - 30.04.2021 21:55:50
 
Чтобы не усложнять , добавлен номер заказа после последнего  действительного:
=ЕСЛИ(C2="";;СУММ(F2:ИНДЕКС(F2:$F$14;ПОИСКПОЗ(A2+1;A2:$A$14;)-1)))
 
vikttur, благодарю, хороший человек!
Изменено: Katya1212 - 30.04.2021 22:19:28
 
Цитата
как сосчитать значение в ячейке
Код
Sub iSumma()
Dim i As Long
Dim iLastRow As Long
Dim n As Integer
 iLastRow = Cells(Rows.Count, "B").End(xlUp).Row
 Range("D2:D" & iLastRow).ClearContents
  For i = 2 To iLastRow
      Cells(i, "D") = 0
      n = 0
    If Cells(i + n + 1, "B") = Cells(i, "B") Then
      Do
         Cells(i, "D") = Cells(i, "D") + Cells(i + n, "F")
         n = n + 1
      Loop While Cells(i, "B") = Cells(i + n, "B")
         i = i + n - 1
    Else
       Cells(i, "D") = Cells(i, "F")
    End If
  Next
End Sub
 
Kuzmich, ого, тут все серьезно, спасибо, буду разбираться 8)  
Страницы: 1
Наверх