Я пытаюсь выполнить sh эту задачу с помощью пользовательской функции. В настоящее время я могу выполнить sh "оценку" с помощью вспомогательной строки и ячеек. Набор данных, который я пытаюсь реализовать, намного больше, чем изображение, которое у меня ниже, и между строками, которые я пытаюсь подсчитать, нет промежуточной вспомогательной строки.
Настройка ... Каждая строка имеет 6 значений столбца. Эти значения также могут быть расположены в одной из 6 определенных таблиц. Если значение встречается в одной из определенных таблиц, то в зависимости от того, в какой таблице оно встречается, ему присваивается оценка. Если значение отсутствует в определенной таблице, верните 1. Я назвал таблицы, чтобы можно было легко ссылаться на них. Оценка выглядит следующим образом:
- Запах = 7
- Пигмент = 6
- AO = 5
- M C = 4
- PPA = 3
- Antistat = 2
- Если строка отсутствует в одной из приведенных выше таблиц, вернуть 1
Я выполняю это со вспомогательными ячейками, ячейка A3 выполняет следующую функцию: =IF(COUNTIF(Scent,A2)>0,7,IF(COUNTIF(Pigment,A2)>0,6,IF(COUNTIF(AO,A2)>0,5,IF(COUNTIF(MT,A2)>0,4,IF(COUNTIF(PPA,A2)>0,3,IF(COUNTIF(Antistat,A2)>0,2,1))))))
После того, как индивидуальная «оценка» выполнена. Затем я хочу вернуть наибольшее и второе наибольшее значение указанным способом c. наибольшее число . второе наибольшее число Ячейка G3 имеет этот результат как «7,5», потому что строка имеет совпадение по запаху и совпадение по AO. Он имеет следующую функцию: =VALUE(LARGE(A3:F3,1)&"."&LARGE(A3:F3,2))
Я никогда не создавал пользовательскую функцию, я не уверен, как это сделать sh. Выходные данные, которые у меня сейчас есть, находятся в диапазоне «A1: G5». Выходные данные, которые я пытаюсь достичь, находятся в диапазоне «A9: G11»
Реальный набор данных, для которого я пытаюсь использовать это, может иметь до 18 значений столбца в строке, но для простоты я пытаюсь заставить это работать только для 6 значений столбца. Я показал только 3 строки, но в реальном наборе данных может быть до 120 строк. Помимо 6 предопределенных таблиц, это число может go вверх или вниз. Меня это не беспокоит, потому что я не думаю, что это число изменится.
Итак, я предполагаю, что мой вопрос в том, как мне получить UDF для выполнения этого метода подсчета счетчиков для диапазона, который Даю это? Диапазон будет состоять из отдельных строк, которые я пытаюсь получить. Ниже приведен фрагмент моего рабочего листа. Спасибо всем за любую помощь или руководство!
папка github