Помогите разобраться со встречами. Нужна формула для подведения итогов встреч согласно статусу.Суть:каждый день я встречаюсь, но хочу подытожить сколько с кем, и как(статус встречи) я встречаюсь. Пример во вложении.Если что не понятно до объясню.
Помогите разобраться со встречами. Нужна формула для подведения итогов встреч согласно статусу.Суть:каждый день я встречаюсь, но хочу подытожить сколько с кем, и как(статус встречи) я встречаюсь. Пример во вложении.Если что не понятно до объясню. ima
Весна Макросы применяют для выполнения рутинных действий. Пока еще не рутина Но в формулах я ещё может(а может и нет) как то разберусь, то с макросом я вообще незнаком. Хотя если с формулами не получится, буду признателен.
Весна Макросы применяют для выполнения рутинных действий. Пока еще не рутина Но в формулах я ещё может(а может и нет) как то разберусь, то с макросом я вообще незнаком. Хотя если с формулами не получится, буду признателен.ima
Хочу приобщиться к прекрасному!
Сообщение отредактировал ima - Понедельник, 24.02.2014, 14:18
Sub tt() Dim sh As Object, x&, i&, ii&, t$ Dim a()
With CreateObject("Scripting.Dictionary"): .comparemode = 1
For Each sh In ThisWorkbook.Worksheets x = x + 1 If x = 6 Then Exit For a = sh.[b3].CurrentRegion.Value For i = 2 To UBound(a) t = a(i, 2) & "|" & a(i, 3) .Item(t) = .Item(t) + 1 Next Next a = Sheets("обобщённый").[a7:e22].Value For i = 2 To UBound(a) For ii = 2 To UBound(a, 2) a(i, ii) = .Item(a(i, 1) & "|" & Left(a(1, ii), 1)) Next Next Sheets("обобщённый").[a7:e22].Value = a End With End Sub
[/vba] C Наташей и Катей смотрите осторожно, ошиблись уже...
Насчёт рутины - ну да, не рутина, пока ещё можно и вручную активности отследить Но думаю формула если и будет, то сложная, я не берусь писать, и даже вникать, если будет написана
[vba]
Код
Option Explicit
Sub tt() Dim sh As Object, x&, i&, ii&, t$ Dim a()
With CreateObject("Scripting.Dictionary"): .comparemode = 1
For Each sh In ThisWorkbook.Worksheets x = x + 1 If x = 6 Then Exit For a = sh.[b3].CurrentRegion.Value For i = 2 To UBound(a) t = a(i, 2) & "|" & a(i, 3) .Item(t) = .Item(t) + 1 Next Next a = Sheets("обобщённый").[a7:e22].Value For i = 2 To UBound(a) For ii = 2 To UBound(a, 2) a(i, ii) = .Item(a(i, 1) & "|" & Left(a(1, ii), 1)) Next Next Sheets("обобщённый").[a7:e22].Value = a End With End Sub
[/vba] C Наташей и Катей смотрите осторожно, ошиблись уже...
Насчёт рутины - ну да, не рутина, пока ещё можно и вручную активности отследить Но думаю формула если и будет, то сложная, я не берусь писать, и даже вникать, если будет написана Hugo
Да с Нататшей и Катей косяк. Не учтённые ... связи. Может всё таки с формулами кто поможет. С формулами потом аналогии может смогу сделать, а вот макросы для меня ваще тёмный лес. Спаисбо за макрос! тока пока не знаю как его вставить девчёнкам
Да с Нататшей и Катей косяк. Не учтённые ... связи. Может всё таки с формулами кто поможет. С формулами потом аналогии может смогу сделать, а вот макросы для меня ваще тёмный лес. Спаисбо за макрос! тока пока не знаю как его вставить девчёнкам ima
Хочу приобщиться к прекрасному!
Сообщение отредактировал ima - Вторник, 25.02.2014, 09:14
Действительно, зачем эта куча листов? Если писать всё на один лист в плоскую таблицу - сделать сводку формулами будет намного проще. Про "рутину и вручную" я подразумевал то, что на данном объёме заполнить таблицу вручную - это ещё самый простой вариант. Я макрос писал всё же дольше, а формул нет до сих пор. Но с прицелом на развитие - уже нужен макрос И в общем он простой - пробежались по листам, посчитали количество сочетаний имя-статус, затем прошлись по сводной и по заголовкам имя-статус извлекаем собранные количества. Ещё бы нужно при анализе листов собрать две коллекции имён и статусов (чтоб никого не забыть), затем строить сводную полностью основываясь на собранных данных - по фактическому наличию имён и статусов, а не по тому, что записано в шапках сводной, как сейчас.
Действительно, зачем эта куча листов? Если писать всё на один лист в плоскую таблицу - сделать сводку формулами будет намного проще. Про "рутину и вручную" я подразумевал то, что на данном объёме заполнить таблицу вручную - это ещё самый простой вариант. Я макрос писал всё же дольше, а формул нет до сих пор. Но с прицелом на развитие - уже нужен макрос И в общем он простой - пробежались по листам, посчитали количество сочетаний имя-статус, затем прошлись по сводной и по заголовкам имя-статус извлекаем собранные количества. Ещё бы нужно при анализе листов собрать две коллекции имён и статусов (чтоб никого не забыть), затем строить сводную полностью основываясь на собранных данных - по фактическому наличию имён и статусов, а не по тому, что записано в шапках сводной, как сейчас.Hugo
Да что там вставлять - создали модуль, скопировали туда код, создали кнопку для запуска, или можно по Alt+F8 выполнять. Готовый файл приложить не могу, извините.
Да что там вставлять - создали модуль, скопировали туда код, создали кнопку для запуска, или можно по Alt+F8 выполнять. Готовый файл приложить не могу, извините.Hugo
Усложнил.Я наверное прагматик , но вот так. по вложенному файлу, 3+ втреча цветочнобукетного периода и он может растянуться надолго так что встреч может быть много. а 4 (контакт) ужу не особо интересует и Коментарии по нему писать не надо там и так всё "понятно"
Усложнил.Я наверное прагматик , но вот так. по вложенному файлу, 3+ втреча цветочнобукетного периода и он может растянуться надолго так что встреч может быть много. а 4 (контакт) ужу не особо интересует и Коментарии по нему писать не надо там и так всё "понятно" ima
Если речь о макросе - я выше написал, он сейчас подтягивает данные к тем, кто записан в "шапках" сводной. Добавьте туда Колю вручную - к нему должны подтянуться данные при следующем запуске макроса. Чтоб всё было автоматически - код нужно дополнить двумя коллекциями или словарями - собирать в них исходные данные, и строить сводную на собранном, а не на том, что в шапках. Ну и соответственно менять шапки.
Если речь о макросе - я выше написал, он сейчас подтягивает данные к тем, кто записан в "шапках" сводной. Добавьте туда Колю вручную - к нему должны подтянуться данные при следующем запуске макроса. Чтоб всё было автоматически - код нужно дополнить двумя коллекциями или словарями - собирать в них исходные данные, и строить сводную на собранном, а не на том, что в шапках. Ну и соответственно менять шапки.Hugo