Как преобразовать значения Excel в ведра?
У меня есть набор данных в Excel и в одном столбце-это оценка (количество недель)
Я хочу, чтобы формула Excel ведро его в
- маленький
- средний
- большой
где, если значение 0-10, то поместите его маленьким. Если значение 10-20, поместите его в среду и т. д. . .
Если есть какой-либо элегантный способ сделать это, кроме вложенных операторов if, все вместе взятых?
10 ответов
может быть не совсем то, что вы искали, но как насчет использования функции условного форматирования Excel
изменить: Качестве альтернативы вы могли бы создать функцию VBA, которая выступает в качестве формулы, которая будет делать calulation для вас. что-то вроде
Function getBucket(rng As Range) As String
Dim strReturn As String
Select Case rng.Value
Case 0 to 10
strReturn = "Small"
Case 11 To 20
strReturn = "Medium"
Case 21 To 30
strReturn = "Large"
Case 31 To 40
strReturn = "Huge"
Case Else
strReturn = "OMG!!!"
End Select
getBucket = strReturn
End Function
правильным инструментом для этого является создание диапазона с вашими ограничениями и соответствующими именами.
Затем вы можете использовать функцию vlookup () с 4-м параметром, установленным в True
создать поиск.
другой метод для создания этого будет использовать if
условные...это означает, что вы ссылаетесь на ячейку, которая имеет значение, и в зависимости от этого значения она даст вам ведро, такое как small
.
например, =if(b2>30,"large",if(b2>20,"medium",if(b2>=10,"small",if(b2<10,"tiny",""))))
так, если ячейка b2
имеет значение 12
, тогда он вернет слово small
.
надеюсь, это то, что вы ищете.
Если все, что вам нужно сделать, это графа сколько значений в каждой категории, то это классический вопрос статистики и может быть очень элегантно решена с "гистограммы."
в Excel вы используете надстройку анализа данных (если у вас ее еще нет, обратитесь к ссылке ниже). Как только вы поймете гистограммы, вы можете разделить свои данные на ведра - называемые "бункерами" - очень быстро, легко настроить свои бункеры и автоматически отображать данные.
Это три простых шага: 1) Поместите данные в один столбец 2) Создайте столбец для своих бункеров (10, 20, 30 и т. д.) 3) Выберите Данные --> Анализ данных --> гистограмма и следуйте инструкциям по выбору диапазона данных и бункеров (вы можете поместить результаты в новый лист и отобразить результаты из этого же меню)
http://office.microsoft.com/en-us/excel-help/create-a-histogram-HP001098364.aspx
хорошим способом создания ведер является функция LOOKUP ().
в этом примере содержит ячейку A1-это количество дней. Второй параметр - это список значений. Третий параметр-это список имен ведра.
=поиск (A1,{0,7,14,31,90,180,360},{"0-6","7-13","14-30","31-89","90-179","180-359",">360"})
может быть, это может помочь вам:
=IF(N6<10,"0-10",IF(N6<20,"10-20",IF(N6<30,"20-30",IF(N6<40,"30-40",IF(N6<50,"40-50")))))
просто замените значения и текст на малый, средний и большой.
вот решение, которое:
- самодостаточными
- не требует VBA
- не ограничивается таким же образом, как если бы относительно максимумов ведра
- не требует точных значений, как поиск делает
=INDEX({"Small","Medium","Large"},LARGE(IF([INPUT_VALUE]>{0,11,21},{1,2,3}),1))
заменить [INPUT_VALUE] С соответствующей ссылкой на ячейку и обязательно нажмите Ctrl + Shift+Enter поскольку это массив формула.
каждая из констант массива может быть расширена до произвольной длины; если формула не превышает максимум Excel 8,192 символов. Первая константа должна содержать возвращаемые значения, вторая-упорядоченные пороговые значения,а третья-просто целые числа по возрастанию.
Если условия-лучший способ сделать это. Если вы хотите, чтобы счетчик использовал сводную таблицу ведер. Это самый простой способ, и если условия могут пойти на более чем 5-6 ведер тоже
Я предпочитаю помечать ведра числовой формулой. Если размер ведра равен 10, то это обозначает ведра 0,1,2,...
=INT(A1/10)
если вы поместите размер ведра 10 в отдельную ячейку, вы можете легко изменить его.
если ячейка B1 содержит ведро (0,1,2,...) и столбец 6 содержит имена Low, Medium, High, тогда эта формула преобразует ведро в имя:
=INDIRECT(ADDRESS(1+B1,6))
кроме того, это помечает ведра с наименьшим значением в наборе, т. е. 0,10,20,...
=10*INT(A1/10)
или это ярлыки них с диапазоном 0-10,10-20,20-30,...
=10*INT(A1/10) & "-" & (10*INT(A1/10)+10)