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

Вход

Регистрация

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

 

= Мир MS Excel/Подсчет количества объединенных ячеек с ячейками содержащий - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подсчет количества объединенных ячеек с ячейками содержащий
S-Nelsona Дата: Вторник, 12.11.2024, 23:24 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте!

Помогите с Excel.

Есть строка (график работы работника). Необходимо подсчитать сколько он дней был в отпуск кмд и т.д.
Код

[vba]
Код
=СЧЁТЕСЛИ(C4:AG4;"*кмд*")
[/vba]

Все бы ничего, но ячейки объединены ячейки.

Подсчет объединенных ячеек, как вариант можно использовать функцию.
Код

[vba]
Код
Public Function MergeSize(r As Range) As Long
    MergeSize = r(1).MergeArea.Cells.Count
End Function
[/vba]

Заранее огромное спасибо.
К сообщению приложен файл: 9827680.xlsx (11.2 Kb)


Сообщение отредактировал S-Nelsona - Вторник, 12.11.2024, 23:25
 
Ответить
СообщениеЗдравствуйте!

Помогите с Excel.

Есть строка (график работы работника). Необходимо подсчитать сколько он дней был в отпуск кмд и т.д.
Код

[vba]
Код
=СЧЁТЕСЛИ(C4:AG4;"*кмд*")
[/vba]

Все бы ничего, но ячейки объединены ячейки.

Подсчет объединенных ячеек, как вариант можно использовать функцию.
Код

[vba]
Код
Public Function MergeSize(r As Range) As Long
    MergeSize = r(1).MergeArea.Cells.Count
End Function
[/vba]

Заранее огромное спасибо.

Автор - S-Nelsona
Дата добавления - 12.11.2024 в 23:24
Hugo Дата: Среда, 13.11.2024, 00:03 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3693
Репутация: 790 ±
Замечаний: 0% ±

365
Я ответил с примером на планете. А тут могу добавить - если уж использовать UDF, то сразу и написать такую под эту задачу - пусть считает все ячейки сама.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ ответил с примером на планете. А тут могу добавить - если уж использовать UDF, то сразу и написать такую под эту задачу - пусть считает все ячейки сама.

Автор - Hugo
Дата добавления - 13.11.2024 в 00:03
S-Nelsona Дата: Среда, 13.11.2024, 00:26 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Такой вариант не пойдет (Никто вносить значения в каждую ячейку (объединенную ) не будет там их очень много) может сесть возможность по другому подсчитать
 
Ответить
СообщениеТакой вариант не пойдет (Никто вносить значения в каждую ячейку (объединенную ) не будет там их очень много) может сесть возможность по другому подсчитать

Автор - S-Nelsona
Дата добавления - 13.11.2024 в 00:26
Nic70y Дата: Среда, 13.11.2024, 09:09 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9010
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
если уж использовать UDF, то сразу и написать такую под эту задачу
вариант
[vba]
Код
Function u_9(a As Range, b As Range)
    u_9 = 0
    For Each c In a
        If c.Value <> "" Then f = c.Value
        If IsNumeric(Application.Search(b, f)) Then u_9 = u_9 + 1
    Next
End Function
[/vba]
К сообщению приложен файл: 9827680.xlsm (16.3 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение
если уж использовать UDF, то сразу и написать такую под эту задачу
вариант
[vba]
Код
Function u_9(a As Range, b As Range)
    u_9 = 0
    For Each c In a
        If c.Value <> "" Then f = c.Value
        If IsNumeric(Application.Search(b, f)) Then u_9 = u_9 + 1
    Next
End Function
[/vba]

Автор - Nic70y
Дата добавления - 13.11.2024 в 09:09
_Boroda_ Дата: Среда, 13.11.2024, 12:38 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16728
Репутация: 6524 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Формула массива
Код
=СЧЁТ(ПОИСК(ЛЕВБ(AI$1;3);ПРОСМОТР(СТОЛБЕЦ($C:$AG);СТОЛБЕЦ($C:$AG)/($C3:$AG3<>"");$C3:$AG3)))
К сообщению приложен файл: 9827680_1.xlsx (11.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФормула массива
Код
=СЧЁТ(ПОИСК(ЛЕВБ(AI$1;3);ПРОСМОТР(СТОЛБЕЦ($C:$AG);СТОЛБЕЦ($C:$AG)/($C3:$AG3<>"");$C3:$AG3)))

Автор - _Boroda_
Дата добавления - 13.11.2024 в 12:38
bmv98rus Дата: Среда, 13.11.2024, 23:28 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4120
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
на крос намекнули выше
там же и утром было
Код
=SUM(--(INDEX(3:3;N(INDEX(LOOKUP(COLUMN(C3:AG3);IF(C3:AG3<>"";COLUMN(C3:AG3)));)))="кмд"))


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениена крос намекнули выше
там же и утром было
Код
=SUM(--(INDEX(3:3;N(INDEX(LOOKUP(COLUMN(C3:AG3);IF(C3:AG3<>"";COLUMN(C3:AG3)));)))="кмд"))

Автор - bmv98rus
Дата добавления - 13.11.2024 в 23:28
S-Nelsona Дата: Пятница, 22.11.2024, 23:51 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Спасибо всем за идеи и подсказки. В общем получилось так.

Формула:
[vba]
Код
=MergeIsСount($C3:$AG3;AI$1)
[/vba]

Модуль в VBA:
[vba]
Код
Function MergeIsСount(a As Range, b As Range)
    MergeIsСount = 0
    For Each c In a
        If IsNumeric(Application.Search(b, c)) Then MergeIsСount = MergeIsСount + c.MergeArea.Cells.Count
    Next
End Function
[/vba]

Код листа книги (для принудительного обновить все формул, так как формула не обновляется если сначала в нести текст в ячейку а потом объединить с пустыми:)
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.CalculateFullRebuild
End Sub
[/vba]
К сообщению приложен файл: kniga1.xlsm (17.8 Kb)


Сообщение отредактировал S-Nelsona - Пятница, 22.11.2024, 23:52
 
Ответить
СообщениеСпасибо всем за идеи и подсказки. В общем получилось так.

Формула:
[vba]
Код
=MergeIsСount($C3:$AG3;AI$1)
[/vba]

Модуль в VBA:
[vba]
Код
Function MergeIsСount(a As Range, b As Range)
    MergeIsСount = 0
    For Each c In a
        If IsNumeric(Application.Search(b, c)) Then MergeIsСount = MergeIsСount + c.MergeArea.Cells.Count
    Next
End Function
[/vba]

Код листа книги (для принудительного обновить все формул, так как формула не обновляется если сначала в нести текст в ячейку а потом объединить с пустыми:)
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.CalculateFullRebuild
End Sub
[/vba]

Автор - S-Nelsona
Дата добавления - 22.11.2024 в 23:51
  • Страница 1 из 1
  • 1
Поиск:

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