Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Если соседняя ячейка пуста, то суммируем значение - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Если соседняя ячейка пуста, то суммируем значение
timo64uk Дата: Среда, 11.12.2024, 09:29 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16
Добрый день :)
Помощи прошу.
В столбце 2 некоторые ячейки пустые и встречаются от 4 до нижней не пустой строки.
В столбце 3 идут только цифры (в общем формате ячеек - пока не разбирался чем это чревато).
Если в столбце 2 встречаем пустую ячейку, то нужно суммировать значение из столбца 3 со значением из нижней ячейки, если в столбце 2 также нижняя ячейка пустая и так до того момента пока встретим в столбце 2 не пустую ячейку.
Полученную сумму нужно сверить со значением верхней ячейки столбца 3, и если она не совпадает, то значения закрашиваем фоном.
Т.е. например: ячейки 5, 2 и 6, 2 пустые, и поэтому значения ячеек 5, 3 и 6, 3 суммируем, и полученный результат сравниваем со значением ячейки 4, 3. В случае не совпадения значения в столбце 3 заливаем желтым.
К сообщению приложен файл: 1557.xlsx (10.1 Kb)


Сообщение отредактировал timo64uk - Среда, 11.12.2024, 10:04
 
Ответить
СообщениеДобрый день :)
Помощи прошу.
В столбце 2 некоторые ячейки пустые и встречаются от 4 до нижней не пустой строки.
В столбце 3 идут только цифры (в общем формате ячеек - пока не разбирался чем это чревато).
Если в столбце 2 встречаем пустую ячейку, то нужно суммировать значение из столбца 3 со значением из нижней ячейки, если в столбце 2 также нижняя ячейка пустая и так до того момента пока встретим в столбце 2 не пустую ячейку.
Полученную сумму нужно сверить со значением верхней ячейки столбца 3, и если она не совпадает, то значения закрашиваем фоном.
Т.е. например: ячейки 5, 2 и 6, 2 пустые, и поэтому значения ячеек 5, 3 и 6, 3 суммируем, и полученный результат сравниваем со значением ячейки 4, 3. В случае не совпадения значения в столбце 3 заливаем желтым.

Автор - timo64uk
Дата добавления - 11.12.2024 в 09:29
Nic70y Дата: Среда, 11.12.2024, 11:25 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9028
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_91()
    Application.ScreenUpdating = False
    a = Range("c3").End(xlDown).Row
    b = Application.CountA(Range("b4:b" & a))
    d = 4
    For c = 1 To b
        e = Application.Match("*", Range("b" & d & ":b" & a), 0)
        d = d + e
        f = Application.Match("*", Range("b" & d & ":b" & a), 0)
        g = d - 1
        If c <> b Then
            h = d + f - 2
        Else
            h = a
        End If
        If g <> h Then
            i = Range("c" & g).Value
            j = Application.Sum(Range("c" & g + 1 & ":c" & h))
            If i <> j Then Range("c" & g + 1 & ":c" & h).Interior.Color = 65535
        End If
    Next
End Sub
[/vba]
К сообщению приложен файл: 1557.xlsm (19.2 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub u_91()
    Application.ScreenUpdating = False
    a = Range("c3").End(xlDown).Row
    b = Application.CountA(Range("b4:b" & a))
    d = 4
    For c = 1 To b
        e = Application.Match("*", Range("b" & d & ":b" & a), 0)
        d = d + e
        f = Application.Match("*", Range("b" & d & ":b" & a), 0)
        g = d - 1
        If c <> b Then
            h = d + f - 2
        Else
            h = a
        End If
        If g <> h Then
            i = Range("c" & g).Value
            j = Application.Sum(Range("c" & g + 1 & ":c" & h))
            If i <> j Then Range("c" & g + 1 & ":c" & h).Interior.Color = 65535
        End If
    Next
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 11.12.2024 в 11:25
timo64uk Дата: Среда, 11.12.2024, 11:34 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16
Application

Спасибо большое. Очень помогли
Я немного начал сам, но тут же закончил.
 
Ответить
Сообщение
Application

Спасибо большое. Очень помогли
Я немного начал сам, но тут же закончил.

Автор - timo64uk
Дата добавления - 11.12.2024 в 11:34
_Boroda_ Дата: Среда, 11.12.2024, 12:25 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16734
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Вариант без макросов, Условным форматированием
Код
=(СУММ((ПРОСМОТР(СТРОКА($4:$99);СТРОКА($4:$99)/(B$4:B$99<>"");A$4:A$99)=ПРОСМОТР(;-1/(B$4:B4<>"");A$4:A4))*C$4:C$99)<>2*ПРОСМОТР(;-1/(B$4:B4<>"");C$4:C4))*(B4="")*(A4<>"")

Предположил, что в столбце А тоже что-то написано, названия, скорее всего)))
К сообщению приложен файл: 1557_1.xlsx (12.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВариант без макросов, Условным форматированием
Код
=(СУММ((ПРОСМОТР(СТРОКА($4:$99);СТРОКА($4:$99)/(B$4:B$99<>"");A$4:A$99)=ПРОСМОТР(;-1/(B$4:B4<>"");A$4:A4))*C$4:C$99)<>2*ПРОСМОТР(;-1/(B$4:B4<>"");C$4:C4))*(B4="")*(A4<>"")

Предположил, что в столбце А тоже что-то написано, названия, скорее всего)))

Автор - _Boroda_
Дата добавления - 11.12.2024 в 12:25
timo64uk Дата: Среда, 11.12.2024, 13:00 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16
В файл добавил 15, 16 17 и 18 строки с данными. Почему-то 16 и 17 выделяем, хотя в 15ой значение равно сумме значений из 16ой и 17
К сообщению приложен файл: 15571.xlsm (19.3 Kb)
 
Ответить
СообщениеВ файл добавил 15, 16 17 и 18 строки с данными. Почему-то 16 и 17 выделяем, хотя в 15ой значение равно сумме значений из 16ой и 17

Автор - timo64uk
Дата добавления - 11.12.2024 в 13:00
Nic70y Дата: Среда, 11.12.2024, 13:12 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 9028
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
что-то где-то с точностью, для надежности округлить:
[vba]
Код
            i = Application.Round(Range("c" & g).Value, 4)
            j = Application.Round(Application.Sum(Range("c" & g + 1 & ":c" & h)), 4)
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщениечто-то где-то с точностью, для надежности округлить:
[vba]
Код
            i = Application.Round(Range("c" & g).Value, 4)
            j = Application.Round(Application.Sum(Range("c" & g + 1 & ":c" & h)), 4)
[/vba]

Автор - Nic70y
Дата добавления - 11.12.2024 в 13:12
timo64uk Дата: Среда, 11.12.2024, 13:13 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16
Условным

Спасибо. Давно не пользовался УФ, хотя начинал решать эту задачу через формулу. Потестирую и в коллекцию. Спасибо огромное.
 
Ответить
Сообщение
Условным

Спасибо. Давно не пользовался УФ, хотя начинал решать эту задачу через формулу. Потестирую и в коллекцию. Спасибо огромное.

Автор - timo64uk
Дата добавления - 11.12.2024 в 13:13
timo64uk Дата: Среда, 11.12.2024, 13:17 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 1 ±
Замечаний: 0% ±

Office16

Спасибо.
 
Ответить
Сообщение
Спасибо.

Автор - timo64uk
Дата добавления - 11.12.2024 в 13:17
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!