Выставление баллов в зависимости от значения на форме в excel

Автор Наталья, 25 мая 2015, 14:04

Наталья

Объясните пожалуйста, как с помощью макросов в зависимости от значения доли (рассчитывается после ввода количества) на форме выставить баллы, в данном случае, по 12-балльной шкале (там где наибольшая доля там выше балл). С помощью цикла if else замучаешься делать.

[вложение удалено администратором]

Администратор

Наталья, а по какому принципу присваиваются баллы? По какой-формуле? Или excel-функция Ранг делает то, что нужно, и мне можно сделать так, как делает excel-функция Ранг?

Наталья

Баллы не рассчитываются по формуле, они просто выставляются по порядку от 1 до 12: находится максимальная доля - это 12 баллов и дальше по убыванию, так получается что минимальная доля - это 1 балл. При этом баллы не повторяются, при повторяющихся долях баллы просто идут в последовательности.

Администратор

Наталья, предположу, что нужно сделать так:

  • создайте массив, состоящий из трёх столбцов;
  • в первый столбец скопируйте данные из лейбелов "Доля";
  • во второй столбец скопируйте имена лейбелов "Доля";
  • отсортируйте массив, например, с помощью метода "Пузырёк";
  • в третий столбец проставьте номера от 1 до 12;
  • теперь двигайтесь по массиву и, используя столбец 2, записывайте в соответствующий лейбел "Баллы" данные из столбца 3.
Если не знаете, как это делать, то разбивайте Вашу задачу на части и создавайте для каждой части тему. Этот форум предназначен для обсуждения только простых вопросов (это форум для развлечения и отдыха от сложных задач).