Объединить диапазон со значениями между
Я работаю с данными ранжированного типа и хочу заполнить ячейку, которая содержит значения с заданными приращениями между минимальным и максимальным. Например, минимальный наружный диаметр составляет 1 1/16 ", а максимальный наружный диаметр - 1 11/32". Я хочу заполнить третью ячейку, которая включает каждый конец плюс все значения между ними на 32 дюйма: 1 1/16";1 3/32";1 1/8";1 5/32";1 3/16";1 7/32";1 1/4";1 9/32";1 5/16";1 11/32"
Могу ли я сделать это в Excel 2007?
Пока что я просто копирую и вставляю из основного списка, разделенного точкой с запятой, все значения в диапазоне от 1 1/64-го до 2 ", а затем возвращаюсь, копирую и заменяю" 1 "на" 2 "и добавляя их в строку и так далее.
Я только что попробовал VBA-код Madball73. Я смог получить его для генерации значений, если значение целого числа было одинаковым для каждого предела, и я удалил ". Например, я попытался от 1 1/64 до 1 1/4 (и изменил приращение до 0,015625, так как этот было до 64). Код VBA вернулся: ";1 1/64";1 1/32";1 3/64";1 1/16";1 5/64";1 3/32";1 7/64";1 1/8";1 9/64";1 5/32";1 11/64";1 3/16";1 13/64";1 7/32";1 15/64";1 1/4"
Все ближе!
Обновление: Хорошо, с небольшим количеством настроек и добавлением окончательного "путем объединения и обрезки предыдущего", я могу заставить это работать.
Обновление 2: похоже, оно больше не работает:(
2 ответа
Вот пользовательская функция VBA для вас. Используйте его, установив вашу формулу: =IterateSizes(value(a1),value(a2))
Function IterateSizes(btmSize, topSize)
rtnValue = ""
incr = 0.03125
For i = btmSize To topSize Step incr
fraction = Trim(Excel.WorksheetFunction.Text(i, "# ??/??"))
rtnValue = rtnValue & """;" & fraction
Next i
IterateSizes = rtnValue
End Function
Заметка. Он был быстро собран вместе и работает для тех немногих входов, которые я ему дал (не включая двойные кавычки). Но, это не полностью проверено, не обрабатывает неверные входные данные, не проверяется на границе и т. Д., Но является отправной точкой.
Здесь есть более простой вариант без VBA - объединение диапазона ячеек без VBA в Excel
Есть ключевые шаги. Перейдите по этой ссылке для изображений, комментариев и других хитростей.
Создать разделительный символ
Было бы здорово, если бы у нас был символ, разделяющий значения. Вот как:
- Выберите ячейку B2.
- Введите =A1:A50&", " в строке формул.
- Изменить: в зависимости от региональных настроек попробуйте следующее: = ТРАНСПОЗИРОВАТЬ (A1:A50)&", "
- Нажмите F9.
- Удалить фигурные скобки в строке формул.
- Удалить последний разделительный символ.
- Тип = Конкатенация (перед всеми символами в строке формул.
- Тип) после последнего символа в строке формул.
- нажмите Ввод
Я делаю это довольно часто, и нахожу эту небольшую модификацию более удобной (Office 2016):
- Как указано выше, введите что-то вроде
=A1:A50&" "
затем нажмите F9 - Удалить
={
с самого начала и}
с конца, затем нажмите ввод - Найти и заменить (
ctrl-H
)";"
с"&"
- добавлять
=
к началу клетки