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

Вход

Регистрация

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

 

= Мир MS Excel/Вывести названия столбцов, в которых есть значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Вывести названия столбцов, в которых есть значения
elovkov Дата: Вторник, 23.05.2023, 16:32 | Сообщение № 1
Группа: Друзья
Ранг: Обитатель
Сообщений: 411
Репутация: 73 ±
Замечаний: 0% ±

Excel 2013
Всем привет,
Озадачился такой задачей, есть график на несколько лет на кучу строк и столбцов, хочу себе для наглядности в отдельном столбце высветить месяцы, в которых по строкам что-то происходит. Что-то не могу сообразить как сделать. Как примерно выглядеть должно изобразил. Т.е. в примере в столбце А перечислены заголовки столбцов, в которых построчно есть какие-либо значения
Есть ощущение что ответ где-то на поверхности, но толи под конец дня запарился, толи что, не придумывается ничего
К сообщению приложен файл: vopros.xlsx (9.7 Kb)


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица

Сообщение отредактировал elovkov - Вторник, 23.05.2023, 16:44
 
Ответить
СообщениеВсем привет,
Озадачился такой задачей, есть график на несколько лет на кучу строк и столбцов, хочу себе для наглядности в отдельном столбце высветить месяцы, в которых по строкам что-то происходит. Что-то не могу сообразить как сделать. Как примерно выглядеть должно изобразил. Т.е. в примере в столбце А перечислены заголовки столбцов, в которых построчно есть какие-либо значения
Есть ощущение что ответ где-то на поверхности, но толи под конец дня запарился, толи что, не придумывается ничего

Автор - elovkov
Дата добавления - 23.05.2023 в 16:32
Nic70y Дата: Вторник, 23.05.2023, 17:05 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
elovkov, в
Excel 2013
сделать это формулой проблематично
http://www.excelworld.ru/forum/2-18726-1#153757


ЮMoney 41001841029809
 
Ответить
Сообщениеelovkov, в
Excel 2013
сделать это формулой проблематично
http://www.excelworld.ru/forum/2-18726-1#153757

Автор - Nic70y
Дата добавления - 23.05.2023 в 17:05
i691198 Дата: Вторник, 23.05.2023, 18:51 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 337
Репутация: 108 ±
Замечаний: 0% ±

Посмотрите такую "этажерку". Для ячейки A2
Код
=ЕСЛИ(B2<>"";$B$1&", ";"")&ЕСЛИ(C2<>"";$C$1&", ";"")&ЕСЛИ(D2<>"";$D$1&", ";"")&ЕСЛИ(E2<>"";$E$1&", ";"")&ЕСЛИ(F2<>"";$F$1&", ";"")&ЕСЛИ(G2<>"";$G$1&", ";"")&ЕСЛИ(H2<>"";$H$1&", ";"")&ЕСЛИ(I2<>"";$I$1&", ";"")&ЕСЛИ(J2<>"";$J$1&", ";"")&ЕСЛИ(K2<>"";$K$1&", ";"")&ЕСЛИ(L2<>"";$L$1&", ";"")&ЕСЛИ(M2<>"";$M$1&", ";"")&ЕСЛИ(N2<>"";$N$1&", ";"")

Запятые в конце значений можно удалить, только формула будет в 2 раза длиннее.


Сообщение отредактировал i691198 - Вторник, 23.05.2023, 20:35
 
Ответить
СообщениеПосмотрите такую "этажерку". Для ячейки A2
Код
=ЕСЛИ(B2<>"";$B$1&", ";"")&ЕСЛИ(C2<>"";$C$1&", ";"")&ЕСЛИ(D2<>"";$D$1&", ";"")&ЕСЛИ(E2<>"";$E$1&", ";"")&ЕСЛИ(F2<>"";$F$1&", ";"")&ЕСЛИ(G2<>"";$G$1&", ";"")&ЕСЛИ(H2<>"";$H$1&", ";"")&ЕСЛИ(I2<>"";$I$1&", ";"")&ЕСЛИ(J2<>"";$J$1&", ";"")&ЕСЛИ(K2<>"";$K$1&", ";"")&ЕСЛИ(L2<>"";$L$1&", ";"")&ЕСЛИ(M2<>"";$M$1&", ";"")&ЕСЛИ(N2<>"";$N$1&", ";"")

Запятые в конце значений можно удалить, только формула будет в 2 раза длиннее.

Автор - i691198
Дата добавления - 23.05.2023 в 18:51
elovkov Дата: Среда, 24.05.2023, 07:50 | Сообщение № 4
Группа: Друзья
Ранг: Обитатель
Сообщений: 411
Репутация: 73 ±
Замечаний: 0% ±

Excel 2013
http://www.excelworld.ru/forum/2-18726-1#153757

Попробую разобраться, спасибо

"этажерку"

Это я так думал, да, запятая не проблема, мне чисто для наглядности рабочий файлик, но столбцов раз в 10 больше, запарюсь, думал может какое проще есть решение. Все равно спасибо


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
Сообщение
http://www.excelworld.ru/forum/2-18726-1#153757

Попробую разобраться, спасибо

"этажерку"

Это я так думал, да, запятая не проблема, мне чисто для наглядности рабочий файлик, но столбцов раз в 10 больше, запарюсь, думал может какое проще есть решение. Все равно спасибо

Автор - elovkov
Дата добавления - 24.05.2023 в 07:50
alexa1965 Дата: Среда, 24.05.2023, 11:26 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 383
Репутация: 62 ±
Замечаний: 0% ±

2003> 2019 >2016
Тоже этажерка только массивная, если убрать в формуле запятые, то значения будут через пробел
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$1)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$2)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$3)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$4)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$5)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$6)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$7)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$8)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$9)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$10)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$11)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$12)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$13)));"")
В приложенном примере без запятых
К сообщению приложен файл: 3937975.xlsx (11.2 Kb)


Главное не быть балабастиком

Сообщение отредактировал alexa1965 - Среда, 24.05.2023, 11:36
 
Ответить
СообщениеТоже этажерка только массивная, если убрать в формуле запятые, то значения будут через пробел
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$1)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$2)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$3)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$4)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$5)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$6)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$7)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$8)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$9)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$10)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$11)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$12)));"")&", "&ЕСЛИОШИБКА(ИНДЕКС(A$1:N$1;НАИМЕНЬШИЙ(ЕСЛИ(B2:N2<>"";СТОЛБЕЦ(B$1:N$1);1000);СТРОКА(A$13)));"")
В приложенном примере без запятых

Автор - alexa1965
Дата добавления - 24.05.2023 в 11:26
elovkov Дата: Среда, 24.05.2023, 13:04 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 411
Репутация: 73 ±
Замечаний: 0% ±

Excel 2013
Тоже этажерка только массивная

У меня в оригинале около сотни столбцов, я так понимаю это повторять соответственно 100 раз и надо ЕСЛИОШИБКу)
Всем спасибо, я понял что простой формулой не сделать, раскрашу по цвету года и уменьшу график и все


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
Сообщение
Тоже этажерка только массивная

У меня в оригинале около сотни столбцов, я так понимаю это повторять соответственно 100 раз и надо ЕСЛИОШИБКу)
Всем спасибо, я понял что простой формулой не сделать, раскрашу по цвету года и уменьшу график и все

Автор - elovkov
Дата добавления - 24.05.2023 в 13:04
Serge_007 Дата: Среда, 24.05.2023, 14:34 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Средствами
Excel 2013
универсальную (т.е. для любого количества конкатенируемых ячеек) формулу для решения этой задачи не сделать

Но с помощью VBA можно:[vba]
Код
Sub elovkov()
Dim Conc$, rR As Range
    For Each rR In Range("b2:n9")
        If rR <> "" Then Conc = Conc & Cells(1, rR.Column) & ","
            If rR.Column = 14 And Conc <> "" Then
                Cells(rR.Row, 1) = Left(Conc, Len(Conc) - 1)
                Conc = ""
            End If
    Next
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеСредствами
Excel 2013
универсальную (т.е. для любого количества конкатенируемых ячеек) формулу для решения этой задачи не сделать

Но с помощью VBA можно:[vba]
Код
Sub elovkov()
Dim Conc$, rR As Range
    For Each rR In Range("b2:n9")
        If rR <> "" Then Conc = Conc & Cells(1, rR.Column) & ","
            If rR.Column = 14 And Conc <> "" Then
                Cells(rR.Row, 1) = Left(Conc, Len(Conc) - 1)
                Conc = ""
            End If
    Next
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 24.05.2023 в 14:34
elovkov Дата: Среда, 24.05.2023, 14:44 | Сообщение № 8
Группа: Друзья
Ранг: Обитатель
Сообщений: 411
Репутация: 73 ±
Замечаний: 0% ±

Excel 2013
Но с помощью VBA можно:


b2:n9 это диапазон поиска записей по колонкам
А где тут задан номер строки с именами и колонка для записи?
[vba]
Код
If rr <> "" Then Conc = Conc & Cells(1, rr.Column) & ","
[/vba]
тут 1 - номер строки?
[vba]
Код
If rr.Column = 12 Then
[/vba]
а тут 12 - номер последнего столбца где искать?


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
Сообщение
Но с помощью VBA можно:


b2:n9 это диапазон поиска записей по колонкам
А где тут задан номер строки с именами и колонка для записи?
[vba]
Код
If rr <> "" Then Conc = Conc & Cells(1, rr.Column) & ","
[/vba]
тут 1 - номер строки?
[vba]
Код
If rr.Column = 12 Then
[/vba]
а тут 12 - номер последнего столбца где искать?

Автор - elovkov
Дата добавления - 24.05.2023 в 14:44
Serge_007 Дата: Среда, 24.05.2023, 14:51 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
колонка для записи
Столбец для записи - это цифра 1 здесь: [vba]
Код
Cells(rR.Row, 1)
[/vba]

номер строки с именами
Номер строки с названиями месяцев - это цифра 1 здесь: [vba]
Код
Cells(1, rR.Column)
[/vba]

12 - номер последнего столбца
Да
Когда макрос доходит до 12-го столбца обрабатываемого диапазона, в первый столбец этой же строки записывается ранее конкатенированная текстовая переменная Conc


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
колонка для записи
Столбец для записи - это цифра 1 здесь: [vba]
Код
Cells(rR.Row, 1)
[/vba]

номер строки с именами
Номер строки с названиями месяцев - это цифра 1 здесь: [vba]
Код
Cells(1, rR.Column)
[/vba]

12 - номер последнего столбца
Да
Когда макрос доходит до 12-го столбца обрабатываемого диапазона, в первый столбец этой же строки записывается ранее конкатенированная текстовая переменная Conc

Автор - Serge_007
Дата добавления - 24.05.2023 в 14:51
elovkov Дата: Среда, 24.05.2023, 15:07 | Сообщение № 10
Группа: Друзья
Ранг: Обитатель
Сообщений: 411
Репутация: 73 ±
Замечаний: 0% ±

Excel 2013
В принципе я уже обошелся, но для разминки чуть позже попробую прикрутить к своему графику, если что буду спрашивать))) Спасибо!


Умное лицо это еще не признак ума. Все глупости на земле делаются именно с этим выражением лица
 
Ответить
СообщениеВ принципе я уже обошелся, но для разминки чуть позже попробую прикрутить к своему графику, если что буду спрашивать))) Спасибо!

Автор - elovkov
Дата добавления - 24.05.2023 в 15:07
i691198 Дата: Среда, 24.05.2023, 21:36 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 337
Репутация: 108 ±
Замечаний: 0% ±

Вариант с пользовательской функцией.
К сообщению приложен файл: vopros.xlsm (16.9 Kb)
 
Ответить
СообщениеВариант с пользовательской функцией.

Автор - i691198
Дата добавления - 24.05.2023 в 21:36
Gustav Дата: Четверг, 25.05.2023, 00:38 | Сообщение № 12
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Ну, и - для коллекции и законченности темы - современный вид формульного решения для последних версий Excel (формула для ячейки A2):
Код
=ОБЪЕДИНИТЬ(", "; ; ФИЛЬТР($B$1:$N$1; ЕЧИСЛО(B2:N2)))

(то же для Google Таблиц)
[vba]
Код
=JOIN(", "; FILTER($B$1:$N$1;ISNUMBER(B2:N2)))
[/vba]

Кстати, обнаружил на днях, что Office 365 в его бесплатной веб-версии установился у меня (уже года три как назад!) на одном из компьютеров при установке на него Windows 10 (типа как бонус что-ли). Попробовал - работает! И, что характерно, спокойно переваривает все эти новые ФИЛЬТРы и LETы. Это я к тому, что Офис 365 - на самом деле, ближе и доступнее, чем вы думаете.

P.S. Наверное, плохо говорю про "установился". Речь, конечно, об учетной записи Microsoft. При установке Windows 10 она, если ее у вас не было, заводится. На нее региструется инсталляция Windows. А потом с ней можно пройти (с вводом пароля) по ссылке office.com, где как раз и доступны веб-версии некоторых офисных приложений 365 (Excel, Word, Outlook и др.).


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Четверг, 25.05.2023, 01:13
 
Ответить
СообщениеНу, и - для коллекции и законченности темы - современный вид формульного решения для последних версий Excel (формула для ячейки A2):
Код
=ОБЪЕДИНИТЬ(", "; ; ФИЛЬТР($B$1:$N$1; ЕЧИСЛО(B2:N2)))

(то же для Google Таблиц)
[vba]
Код
=JOIN(", "; FILTER($B$1:$N$1;ISNUMBER(B2:N2)))
[/vba]

Кстати, обнаружил на днях, что Office 365 в его бесплатной веб-версии установился у меня (уже года три как назад!) на одном из компьютеров при установке на него Windows 10 (типа как бонус что-ли). Попробовал - работает! И, что характерно, спокойно переваривает все эти новые ФИЛЬТРы и LETы. Это я к тому, что Офис 365 - на самом деле, ближе и доступнее, чем вы думаете.

P.S. Наверное, плохо говорю про "установился". Речь, конечно, об учетной записи Microsoft. При установке Windows 10 она, если ее у вас не было, заводится. На нее региструется инсталляция Windows. А потом с ней можно пройти (с вводом пароля) по ссылке office.com, где как раз и доступны веб-версии некоторых офисных приложений 365 (Excel, Word, Outlook и др.).

Автор - Gustav
Дата добавления - 25.05.2023 в 00:38
  • Страница 1 из 1
  • 1
Поиск:

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