Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 05.05.2008, 14:55   #1
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию Опять сумма. Теперь при условии

Я извиняюсь, последнее время слишком активно задаю вопросы. Попросили у меня одно, а теперь сказали, что нужно "немного" другое. НЕМНОГО!?!?
К проблеме:
Прикрепил массив с макросом, который делает почти то, что надо до моего "НО!!!" ниже.

В столбце "Level" уровень сборки. (0 - конечный результат 1 - его прямые дети и т.д.).
В столбце "Name" имена.
В столбце "Father Name" имена сборок к которым относятся данные имена.
В столбце "work" разновидность работы.
Нужно напротив каждой сборки (напротив "Name") сосчитать сколько раз она повторяется в столбце "Father Name". НО!!!!!!

Если в столбце "work" присутствует слово "fantom" который тоже состоит из нескольких "Name". полученное количество нужно не написать в столбце "sum of names" a приплюсовать к сумме его "Father Name".
И отнять его самого, то есть минус один! (он не "Name") он невидимка состоящий из нескольких "Name".
Надеюсь всё понятно...
Заранее спасибо ОГРОМНОЕ ЗА ПОМОЩЬ!!!
Вложения
Тип файла: rar FANTOM.rar (17.7 Кб, 13 просмотров)
Jungo must die!!! (C) Bill Gates.

Последний раз редактировалось jungo; 05.05.2008 в 14:58.
jungo вне форума
Старый 05.05.2008, 15:40   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Не-а, не догоняю. Можно пример того, что нужно получить.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 05.05.2008, 16:13   #3
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию

Думаю это значительно упростит.
Вложения
Тип файла: rar FANTOM_EXP.rar (19.5 Кб, 24 просмотров)
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Старый 05.05.2008, 18:32   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

См. вложение. Последний столбик дополнительный, без него не осилил.

Одну красивую формулу написать не удалось((.
Вложения
Тип файла: rar FANTOM.rar (32.7 Кб, 15 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 06.05.2008, 08:03   #5
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию

IgorGO

Не удаётся открыть файл, показывает error. Может из за того что мой Эксель на иврите.Буду очень признателен если пересмотришь и перезальёшь?
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Старый 06.05.2008, 10:43   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

На сколько я правильно понял, то примерно так.
Запустите макрос "Fantom".
Вложения
Тип файла: rar FANTOM_2.rar (17.6 Кб, 15 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 06.05.2008, 10:58   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Опа!? Я так понмаю, распаковалось все без проблем? Проблемы возникли именно с xls-файлом?
А сейчас? (убрал имена диапазонов - были названы кирилицей, хотя я имена листов в исходнике, набранные явно не кирилицей, вижу, только не понимаю совсем)
на всякий случай во второй строке
в 7 колонке пишем
Код:
=ЕСЛИ(RC[-3]="fantom";СУММ((RC[-5]=R2C3:R498C3)*1);)+1
в 6 пишем
Код:
=СУММ((RC[-4]=R2C3:R498C3)*R2C7:R498C7)
жмем F2, Ctrl+Shift+Enter для каждой, размножаем ячейки вниз по списку.
Вложения
Тип файла: rar FANTOM.rar (32.5 Кб, 14 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 06.05.2008, 13:26   #8
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию

Я в недоумении...
После распаковки не файл IgorGO не файл SAS888 не открывается без ошибки Microsoft.
После "авто-починки" эксель не показывает сам модуль (видимо стирает его).
Можно мне получить код в топике?
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Старый 06.05.2008, 14:03   #9
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Видимо, все-таки какая-то языковая несовместимость.
Поместите следующий код в модуль VBE. Затем запустите макрос "Fantom".
Код:
Sub Fantom()

    Dim x As Object, Fst As String, i As Long, j As Long
    For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
    Application.ScreenUpdating = False
        Set x = Columns("C").Find(what:=Cells(i, "B"), LookAt:=xlWhole)
        If Not x Is Nothing Then
            Fst = x.Address: j = 0
            Do
                j = j + 1
                Set x = Columns("C").FindNext(x)
            Loop While Fst <> x.Address
            Cells(i, "F") = j
        End If
    Next
    
    For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
        If Cells(i, "D") = "fantom" Then
            Set x = Columns("B").Find(what:=Cells(i, "C"), LookAt:=xlWhole)
            If Not x Is Nothing Then
                Cells(x.Row, "F") = Cells(x.Row, "F") + Cells(i, "F")
                Cells(i, "F").ClearContents
            End If
        End If
    Next

End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 06.05.2008, 14:53   #10
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию

SAS888
Да, это оно!!! супер! спасибо!

Есть два нюанса, один упущен, а второй просьба:

1. Нужно от полученного числа отнять сам "fantom", а сумму его "детей" оставить. Я написал в топике:
Цитата:
И отнять его самого, то есть минус один! (он не "Name") он невидимка состоящий из нескольких "Name".
Надеюсь всё понятно...
2. Можно всё таки оставить напротив "fantom" сумму его "детей" (она была в прошлом макросе)?

Огромное тебе спасибо! Ты меня спас!
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
И опять мэйлы.. Опять... Pusher PHP 6 28.06.2008 03:08
DBGridEh+EditMask при условии. Jenya БД в Delphi 1 03.03.2008 13:58
Теперь по делу Drain Общие вопросы Delphi 1 07.02.2008 12:49
Теперь играем бесплатно! Shurik Hacker Софт 0 12.01.2008 12:53
Проблема в условии.. POPOV Общие вопросы C/C++ 6 25.12.2007 13:39