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

Вход

Регистрация

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

 

= Мир MS Excel/Объединение двух столбцов для вывода в третий общего значени - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединение двух столбцов для вывода в третий общего значени (Формулы/Formulas)
Объединение двух столбцов для вывода в третий общего значени
ailist Дата: Вторник, 13.03.2018, 08:41 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день коллеги!

Помогите решить задачу: Есть два столбца, в столбце А написаны цифры (это процентное содержание ткани в изделии), в столбце В собственно записана сама ткань. Нужно объединить эти два значения в столбце С через запятую в виде однострочной записи общего состава изделия, как во вложении к этой теме.

Спасибо за помощь!
К сообщению приложен файл: 3681722.xlsx (8.4 Kb)


Сообщение отредактировал ailist - Вторник, 13.03.2018, 08:42
 
Ответить
СообщениеДобрый день коллеги!

Помогите решить задачу: Есть два столбца, в столбце А написаны цифры (это процентное содержание ткани в изделии), в столбце В собственно записана сама ткань. Нужно объединить эти два значения в столбце С через запятую в виде однострочной записи общего состава изделия, как во вложении к этой теме.

Спасибо за помощь!

Автор - ailist
Дата добавления - 13.03.2018 в 08:41
sboy Дата: Вторник, 13.03.2018, 09:23 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Вариант пользовательской функцией
[vba]
Код
Function ailist(r As Range)
    arr = r.Value
    Dim t()
    ReDim t(1 To UBound(arr))
        For i = 1 To UBound(arr)
            t(i) = arr(i, 1) & "% " & arr(i, 2)
        Next
        ailist = Join(t, ", ")
End Function
[/vba]
К сообщению приложен файл: 3681722.xlsm (14.1 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Вариант пользовательской функцией
[vba]
Код
Function ailist(r As Range)
    arr = r.Value
    Dim t()
    ReDim t(1 To UBound(arr))
        For i = 1 To UBound(arr)
            t(i) = arr(i, 1) & "% " & arr(i, 2)
        Next
        ailist = Join(t, ", ")
End Function
[/vba]

Автор - sboy
Дата добавления - 13.03.2018 в 09:23
ailist Дата: Вторник, 13.03.2018, 09:41 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо!
Но появились моменты которые я не учел, а именно количество значений таких подряд может быть как 1 так и 6
Например есть 100% хлопок (в столбце А - 100, в столбце В - хлопок, в С - должно отобразиться 100% хлопок) или же 12% эластан, 43% полиэстер, 45% полиамид (столбец А - 12, 43, 45, в столбце В - эластан, полиэстер, полиамид соответственно)
Надеюсь это не проблема.

Файл приложил
К сообщению приложен файл: 7187915.xlsx (8.8 Kb)
 
Ответить
СообщениеСпасибо!
Но появились моменты которые я не учел, а именно количество значений таких подряд может быть как 1 так и 6
Например есть 100% хлопок (в столбце А - 100, в столбце В - хлопок, в С - должно отобразиться 100% хлопок) или же 12% эластан, 43% полиэстер, 45% полиамид (столбец А - 12, 43, 45, в столбце В - эластан, полиэстер, полиамид соответственно)
Надеюсь это не проблема.

Файл приложил

Автор - ailist
Дата добавления - 13.03.2018 в 09:41
sboy Дата: Вторник, 13.03.2018, 09:45 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Вы мой файлик смотрели?
в аргументы функции запихивайте тот диапазон, который нужен, хоть 1, хоть 6


Яндекс: 410016850021169
 
Ответить
СообщениеВы мой файлик смотрели?
в аргументы функции запихивайте тот диапазон, который нужен, хоть 1, хоть 6

Автор - sboy
Дата добавления - 13.03.2018 в 09:45
ailist Дата: Вторник, 13.03.2018, 09:52 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, я новичок в формулах экселя, не все понимаю, могу сразу не догнать о чем речь, просто у меня строк примерно 234000 будет и делать их руками проблемно, если можно было бы продлить столбец С до конца, чтобы он сам определял где подряд идут значения а пустые игнорировал - будет намного эффективней!
 
Ответить
Сообщениеsboy, я новичок в формулах экселя, не все понимаю, могу сразу не догнать о чем речь, просто у меня строк примерно 234000 будет и делать их руками проблемно, если можно было бы продлить столбец С до конца, чтобы он сам определял где подряд идут значения а пустые игнорировал - будет намного эффективней!

Автор - ailist
Дата добавления - 13.03.2018 в 09:52
китин Дата: Вторник, 13.03.2018, 10:09 | Сообщение № 6
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
где подряд идут значения а пустые игнорировал

а что тмешает воспользоваться ЕСЛИ?
Код
=ЕСЛИ(A2="";"";ailist(A2:B3))
К сообщению приложен файл: ailist.xlsm (14.5 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Вторник, 13.03.2018, 10:11
 
Ответить
Сообщение
где подряд идут значения а пустые игнорировал

а что тмешает воспользоваться ЕСЛИ?
Код
=ЕСЛИ(A2="";"";ailist(A2:B3))

Автор - китин
Дата добавления - 13.03.2018 в 10:09
ailist Дата: Вторник, 13.03.2018, 10:16 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
китин, этот вариант уже ближе! только нужно в одну строку уместить все значения А и В в столбец С через запятую
 
Ответить
Сообщениекитин, этот вариант уже ближе! только нужно в одну строку уместить все значения А и В в столбец С через запятую

Автор - ailist
Дата добавления - 13.03.2018 в 10:16
sboy Дата: Вторник, 13.03.2018, 10:24 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
переделал на макрос, надо нажать кнопку
[vba]
Код
Sub ailist()
Dim t()
    For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        y = x
        Do While Cells(y + 1, 1) <> ""
            y = y + 1
        Loop
        arr = Range(Cells(x, 1), Cells(y, 2)).Value
            ReDim t(1 To UBound(arr))
                For i = 1 To UBound(arr)
                    t(i) = arr(i, 1) & "% " & arr(i, 2)
                Next
            Cells(x, 3) = Join(t, ", ")
            x = Cells(y, 1).End(xlDown).Row - 1
    Next
End Sub
[/vba]
К сообщению приложен файл: 6443889.xlsm (16.1 Kb)


Яндекс: 410016850021169
 
Ответить
Сообщениепеределал на макрос, надо нажать кнопку
[vba]
Код
Sub ailist()
Dim t()
    For x = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        y = x
        Do While Cells(y + 1, 1) <> ""
            y = y + 1
        Loop
        arr = Range(Cells(x, 1), Cells(y, 2)).Value
            ReDim t(1 To UBound(arr))
                For i = 1 To UBound(arr)
                    t(i) = arr(i, 1) & "% " & arr(i, 2)
                Next
            Cells(x, 3) = Join(t, ", ")
            x = Cells(y, 1).End(xlDown).Row - 1
    Next
End Sub
[/vba]

Автор - sboy
Дата добавления - 13.03.2018 в 10:24
ailist Дата: Вторник, 13.03.2018, 10:32 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
sboy, спасибо огромное! все работает, очень круто и удобно, просто супер!
 
Ответить
Сообщениеsboy, спасибо огромное! все работает, очень круто и удобно, просто супер!

Автор - ailist
Дата добавления - 13.03.2018 в 10:32
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединение двух столбцов для вывода в третий общего значени (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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