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

Вход

Регистрация

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

 

= Мир MS Excel/Перевод результата в баллы для спорта. - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевод результата в баллы для спорта. (Макросы/Sub)
Перевод результата в баллы для спорта.
Болт Дата: Вторник, 06.09.2016, 10:02 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Ранее обращался за помощью к старожилам данного форума очень помогли. Обращаюсь вновь за помощью.

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

И есть ли макрос который растравляет места согласно максимальному баллу наборному школой(командой)
К сообщению приложен файл: __2016-17.xlsx (73.2 Kb)
 
Ответить
СообщениеДобрый день! Ранее обращался за помощью к старожилам данного форума очень помогли. Обращаюсь вновь за помощью.

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

И есть ли макрос который растравляет места согласно максимальному баллу наборному школой(командой)

Автор - Болт
Дата добавления - 06.09.2016 в 10:02
K-SerJC Дата: Вторник, 06.09.2016, 10:36 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
так в какой таблице должны данные сформироваться и по каким критериям считаются баллы?
чтобы было понятнее
сделай две таблицы исходную с данными и итоговую как это должно быть


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщениетак в какой таблице должны данные сформироваться и по каким критериям считаются баллы?
чтобы было понятнее
сделай две таблицы исходную с данными и итоговую как это должно быть

Автор - K-SerJC
Дата добавления - 06.09.2016 в 10:36
Болт Дата: Вторник, 06.09.2016, 12:08 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Постарался описать в примечаниях . Суть подсчёта. Секретарю дают данные он вносит в таблицу результат испытаний пример челночный бег 3х10, программа соотносит возраст пол участника и результат с критериями очков и переводит их в очки.
К сообщению приложен файл: 1430157.xlsx (75.6 Kb)
 
Ответить
СообщениеПостарался описать в примечаниях . Суть подсчёта. Секретарю дают данные он вносит в таблицу результат испытаний пример челночный бег 3х10, программа соотносит возраст пол участника и результат с критериями очков и переводит их в очки.

Автор - Болт
Дата добавления - 06.09.2016 в 12:08
Болт Дата: Вторник, 06.09.2016, 12:29 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Написал при помощи формул. Только для зала и сам соотносил возраст участника и результат с табличными значениями.
К сообщению приложен файл: 7413886.xlsx (80.6 Kb)


Сообщение отредактировал Болт - Вторник, 06.09.2016, 12:35
 
Ответить
СообщениеНаписал при помощи формул. Только для зала и сам соотносил возраст участника и результат с табличными значениями.

Автор - Болт
Дата добавления - 06.09.2016 в 12:29
K-SerJC Дата: Вторник, 06.09.2016, 13:08 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
понял что нужно. сделаю, чуть позже.
там таблички сами однотипные сделать, упростить немного и пользовательскую формулу написать


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщениепонял что нужно. сделаю, чуть позже.
там таблички сами однотипные сделать, упростить немного и пользовательскую формулу написать

Автор - K-SerJC
Дата добавления - 06.09.2016 в 13:08
Болт Дата: Вторник, 06.09.2016, 13:19 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Я так понял что формулы с большими пересчётом зависают. Поэтому пытаюсь делать всё в макросе. есть некоторые работы которые мне помогли сделать в макросе методисты очень довольные им нет необходимости производить подсчёт вручную.
 
Ответить
СообщениеЯ так понял что формулы с большими пересчётом зависают. Поэтому пытаюсь делать всё в макросе. есть некоторые работы которые мне помогли сделать в макросе методисты очень довольные им нет необходимости производить подсчёт вручную.

Автор - Болт
Дата добавления - 06.09.2016 в 13:19
devilkurs Дата: Вторник, 06.09.2016, 13:49 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
Нарисовал функцию. (может грабли, но как вариант)

Условия: В нормативах Упражнения должны называться идентично тому как в таблице результатов
в столбик Очки вводится =Очки(ячейка Пол, ячейка Возраст, ячейка Результат)

[vba]
Код
Public Function Очки(Пол As String, Возраст As Integer, Результат As Range)
    Dim Sh, Упражнение, rПол, rУпр, iC%, iR%
    Упражнение = Cells(WorksheetFunction.Match("Результат", Cells(1, Результат.Column).Resize(10, 1), 0) - 1, Результат.Column).Value
    
    For Each Sh In ThisWorkbook.Sheets 'найдем лист с нормативами согласно возраста
        If Mid(Sh.Name, 1, 2) = Возраст Then Exit For
    Next
    
    Select Case Пол 'определим согласно пола верхнюю левую ячейку таблицы нормативов
        Case "м", "М": Set rПол = Sh.Cells.Find("Мальчики")
        Case "д", "Д": Set rПол = Sh.Cells.Find("Девочки")
    End Select
    
    Set rУпр = rПол.Resize(5, 7).Find(Упражнение) 'определим ячейку с наименование упражнения в таблице нормативов
    iC = 8 - (rУпр.Column - rПол.Column)
    Очки = WorksheetFunction.VLookup(Результат.Value, rУпр.Resize(100, iC), iC) 'ну и собственно поиск результата и возвращение оценки через функцию ВПР
End Function
[/vba]

[p.s.]понял ошибки. разберу. это работает только с челночным бегом и бегом на 30 м
К сообщению приложен файл: devilkurs.xlsm (83.7 Kb)




Сообщение отредактировал devilkurs - Вторник, 06.09.2016, 14:22
 
Ответить
СообщениеНарисовал функцию. (может грабли, но как вариант)

Условия: В нормативах Упражнения должны называться идентично тому как в таблице результатов
в столбик Очки вводится =Очки(ячейка Пол, ячейка Возраст, ячейка Результат)

[vba]
Код
Public Function Очки(Пол As String, Возраст As Integer, Результат As Range)
    Dim Sh, Упражнение, rПол, rУпр, iC%, iR%
    Упражнение = Cells(WorksheetFunction.Match("Результат", Cells(1, Результат.Column).Resize(10, 1), 0) - 1, Результат.Column).Value
    
    For Each Sh In ThisWorkbook.Sheets 'найдем лист с нормативами согласно возраста
        If Mid(Sh.Name, 1, 2) = Возраст Then Exit For
    Next
    
    Select Case Пол 'определим согласно пола верхнюю левую ячейку таблицы нормативов
        Case "м", "М": Set rПол = Sh.Cells.Find("Мальчики")
        Case "д", "Д": Set rПол = Sh.Cells.Find("Девочки")
    End Select
    
    Set rУпр = rПол.Resize(5, 7).Find(Упражнение) 'определим ячейку с наименование упражнения в таблице нормативов
    iC = 8 - (rУпр.Column - rПол.Column)
    Очки = WorksheetFunction.VLookup(Результат.Value, rУпр.Resize(100, iC), iC) 'ну и собственно поиск результата и возвращение оценки через функцию ВПР
End Function
[/vba]

[p.s.]понял ошибки. разберу. это работает только с челночным бегом и бегом на 30 м

Автор - devilkurs
Дата добавления - 06.09.2016 в 13:49
Pelena Дата: Вторник, 06.09.2016, 15:11 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
сделаю, чуть позже

Надеемся увидеть результат yes

И да, K-SerJC, уберите рекламу из подписи


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
сделаю, чуть позже

Надеемся увидеть результат yes

И да, K-SerJC, уберите рекламу из подписи

Автор - Pelena
Дата добавления - 06.09.2016 в 15:11
devilkurs Дата: Вторник, 06.09.2016, 16:32 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
Исправленный мой вариант

[vba]
Код
Public Function Очки(Пол As String, Возраст As Integer, Результат As Range)
    Dim Sh, Упражнение, Рез, rПол, rУпр, iR%, iC%, iMax, iMin, i, Arr, iT
    Упражнение = Cells(WorksheetFunction.Match("Результат", Cells(1, Результат.Column).Resize(10, 1), 0) - 1, Результат.Column).Value
    Рез = Результат.Value
    
    For Each Sh In ThisWorkbook.Sheets 'найдем лист с нормативами согласно возраста
        If Mid(Sh.Name, 1, 2) = Возраст Then Exit For
    Next
    
    Select Case Пол 'определим согласно пола верхнюю левую ячейку таблицы нормативов
        Case "м", "М": Set rПол = Sh.Cells.Find("Мальчики")
        Case "д", "Д": Set rПол = Sh.Cells.Find("Девочки")
    End Select
    
    Set rУпр = rПол.Resize(5, 7).Find(Упражнение) 'определим ячейку с наименование упражнения в таблице нормативов
    iMax = WorksheetFunction.Max(rУпр.Resize(100, 1))
    iMin = WorksheetFunction.Min(rУпр.Resize(100, 1))
        
    iC = 8 - (rУпр.Column - rПол.Column)
    Arr = rУпр.Resize(100, iC).Value
    For i = 1 To UBound(Arr, 1)
       If Arr(i, 1) <= Рез And Arr(i, 1) >= iT Then iT = Arr(i, 1): Очки = Arr(i, iC)
    Next i

End Function
[/vba]
К сообщению приложен файл: 4320221.xlsm (84.7 Kb)


 
Ответить
СообщениеИсправленный мой вариант

[vba]
Код
Public Function Очки(Пол As String, Возраст As Integer, Результат As Range)
    Dim Sh, Упражнение, Рез, rПол, rУпр, iR%, iC%, iMax, iMin, i, Arr, iT
    Упражнение = Cells(WorksheetFunction.Match("Результат", Cells(1, Результат.Column).Resize(10, 1), 0) - 1, Результат.Column).Value
    Рез = Результат.Value
    
    For Each Sh In ThisWorkbook.Sheets 'найдем лист с нормативами согласно возраста
        If Mid(Sh.Name, 1, 2) = Возраст Then Exit For
    Next
    
    Select Case Пол 'определим согласно пола верхнюю левую ячейку таблицы нормативов
        Case "м", "М": Set rПол = Sh.Cells.Find("Мальчики")
        Case "д", "Д": Set rПол = Sh.Cells.Find("Девочки")
    End Select
    
    Set rУпр = rПол.Resize(5, 7).Find(Упражнение) 'определим ячейку с наименование упражнения в таблице нормативов
    iMax = WorksheetFunction.Max(rУпр.Resize(100, 1))
    iMin = WorksheetFunction.Min(rУпр.Resize(100, 1))
        
    iC = 8 - (rУпр.Column - rПол.Column)
    Arr = rУпр.Resize(100, iC).Value
    For i = 1 To UBound(Arr, 1)
       If Arr(i, 1) <= Рез And Arr(i, 1) >= iT Then iT = Arr(i, 1): Очки = Arr(i, iC)
    Next i

End Function
[/vba]

Автор - devilkurs
Дата добавления - 06.09.2016 в 16:32
K-SerJC Дата: Вторник, 06.09.2016, 17:21 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
функции в модуль Personal надо положить
К сообщению приложен файл: 4777556.xlsm (80.9 Kb) · SPORT.bas (1.5 Kb)


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщениефункции в модуль Personal надо положить

Автор - K-SerJC
Дата добавления - 06.09.2016 в 17:21
K-SerJC Дата: Среда, 07.09.2016, 06:56 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
у devilkurs попроще вариант :-)
я тут пока с работой раскидался, с поиском ячейки в диапазоне тупанул... %)


Благими намерениями выстелена дорога в АД.
 
Ответить
Сообщениеу devilkurs попроще вариант :-)
я тут пока с работой раскидался, с поиском ячейки в диапазоне тупанул... %)

Автор - K-SerJC
Дата добавления - 07.09.2016 в 06:56
Болт Дата: Среда, 07.09.2016, 10:46 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Я хочу признатся что с макросами на вы, не могу его запустить в процесс. Помогите с данным вопросом.
 
Ответить
СообщениеЯ хочу признатся что с макросами на вы, не могу его запустить в процесс. Помогите с данным вопросом.

Автор - Болт
Дата добавления - 07.09.2016 в 10:46
Болт Дата: Среда, 07.09.2016, 10:52 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добавил в таблицу место участника в общем зачёте.
К сообщению приложен файл: 0905191.xlsm (77.0 Kb)
 
Ответить
СообщениеДобавил в таблицу место участника в общем зачёте.

Автор - Болт
Дата добавления - 07.09.2016 в 10:52
buchlotnik Дата: Среда, 07.09.2016, 10:56 | Сообщение № 14
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
вы зачем две функции с одним именем создали? модуль 2 закомментил
К сообщению приложен файл: 2989716.xlsm (80.5 Kb)


Сообщение отредактировал buchlotnik - Среда, 07.09.2016, 10:57
 
Ответить
Сообщениевы зачем две функции с одним именем создали? модуль 2 закомментил

Автор - buchlotnik
Дата добавления - 07.09.2016 в 10:56
Болт Дата: Среда, 07.09.2016, 11:05 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Мои познания оставляют желать лучшего, что могу я сделать это поставить кнопку для вызова макроса, и изменить некоторые области применения после долгих проб и ошибок. с пасибо за понимание и терпение к чайнику.
 
Ответить
СообщениеМои познания оставляют желать лучшего, что могу я сделать это поставить кнопку для вызова макроса, и изменить некоторые области применения после долгих проб и ошибок. с пасибо за понимание и терпение к чайнику.

Автор - Болт
Дата добавления - 07.09.2016 в 11:05
devilkurs Дата: Среда, 07.09.2016, 11:44 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
Болт,
Уважаемый buchlotnik Вам поправил в модулях VBA.
Повторюсь для закрепления:
Моя функция работает так же как и обычная формула, т.е. столбике "Очки" где результаты вводите как обычную формулу
Код
=Очки(ячейка Пол, ячейка Возраст, ячейка Результат)

где ссылаетесь на ячейки по этому же участнику из столбцов Пол, Возраст и Результат.
Важное условие для работы моей функции (формулы) чтобы наименование упражнения в таблицах нормативов назывались точно так же как и на листе Зал, Улица.

место участника в общем зачёте

Используйте формулу:
Код
=РАНГ(P5;P$5:P76)

где P5 - ячейка на Сумма очков участника
P$5:P76 - диапазон по столбцу Сумма очков участника по всем участникам


 
Ответить
СообщениеБолт,
Уважаемый buchlotnik Вам поправил в модулях VBA.
Повторюсь для закрепления:
Моя функция работает так же как и обычная формула, т.е. столбике "Очки" где результаты вводите как обычную формулу
Код
=Очки(ячейка Пол, ячейка Возраст, ячейка Результат)

где ссылаетесь на ячейки по этому же участнику из столбцов Пол, Возраст и Результат.
Важное условие для работы моей функции (формулы) чтобы наименование упражнения в таблицах нормативов назывались точно так же как и на листе Зал, Улица.

место участника в общем зачёте

Используйте формулу:
Код
=РАНГ(P5;P$5:P76)

где P5 - ячейка на Сумма очков участника
P$5:P76 - диапазон по столбцу Сумма очков участника по всем участникам

Автор - devilkurs
Дата добавления - 07.09.2016 в 11:44
Болт Дата: Среда, 07.09.2016, 11:57 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Меня просто смутили формулы. Я хоел вызывать макрос при пощи отдельной кнопки. Так как у меня секретариат возрастной и может случаем в работе поправить пару функций.
 
Ответить
СообщениеМеня просто смутили формулы. Я хоел вызывать макрос при пощи отдельной кнопки. Так как у меня секретариат возрастной и может случаем в работе поправить пару функций.

Автор - Болт
Дата добавления - 07.09.2016 в 11:57
Болт Дата: Среда, 07.09.2016, 12:22 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 47
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вот что у меня получилось с применением формул. Хотел попросить можно ли без отражение формул и макрос с возможностью коректировки области подсчёта.
К сообщению приложен файл: 1931929.xlsm (86.2 Kb)
 
Ответить
СообщениеВот что у меня получилось с применением формул. Хотел попросить можно ли без отражение формул и макрос с возможностью коректировки области подсчёта.

Автор - Болт
Дата добавления - 07.09.2016 в 12:22
devilkurs Дата: Среда, 07.09.2016, 13:42 | Сообщение № 19
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
Болт, сейчас Вам предложу вариант с кнопкой. (сейчас-это как время на работе появится, но сегодня)


 
Ответить
СообщениеБолт, сейчас Вам предложу вариант с кнопкой. (сейчас-это как время на работе появится, но сегодня)

Автор - devilkurs
Дата добавления - 07.09.2016 в 13:42
devilkurs Дата: Среда, 07.09.2016, 16:05 | Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
Болт, проверяйте внимательно, делал на скорую руку )))))
К сообщению приложен файл: 7042619.xlsm (89.9 Kb)


 
Ответить
СообщениеБолт, проверяйте внимательно, делал на скорую руку )))))

Автор - devilkurs
Дата добавления - 07.09.2016 в 16:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перевод результата в баллы для спорта. (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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