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

Вход

Регистрация

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

 

= Мир MS Excel/Наименование столбцов по значению в таблице - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Наименование столбцов по значению в таблице (Формулы/Formulas)
Наименование столбцов по значению в таблице
Zhuravlev_IV Дата: Среда, 05.07.2017, 10:44 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!

Есть таблица данных с названием столбцов. Нужно по одной строке вывести в ячейку названия столбцов там где есть значения. Решил данную задачу способом в примере.
Код
=ИНДЕКС($E$3:$K$3;1;НАИМЕНЬШИЙ(ЕСЛИ($E12:$K12<>"";СТОЛБЕЦ($E$3:$K$3)-4;"");1))

, где в наименьшем значение к- указано вручную.

Можно ли решить данную задачу другим способом? Или как-то автоматизировать индекс k?

П.С.: Пожалуйста, только не прибегайте к VBA..
К сообщению приложен файл: 0570980.xlsx(10Kb)


Журавлев Иван

Сообщение отредактировал Zhuravlev_IV - Среда, 05.07.2017, 10:57
 
Ответить
СообщениеДобрый день!

Есть таблица данных с названием столбцов. Нужно по одной строке вывести в ячейку названия столбцов там где есть значения. Решил данную задачу способом в примере.
Код
=ИНДЕКС($E$3:$K$3;1;НАИМЕНЬШИЙ(ЕСЛИ($E12:$K12<>"";СТОЛБЕЦ($E$3:$K$3)-4;"");1))

, где в наименьшем значение к- указано вручную.

Можно ли решить данную задачу другим способом? Или как-то автоматизировать индекс k?

П.С.: Пожалуйста, только не прибегайте к VBA..

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 10:44
AlexM Дата: Среда, 05.07.2017, 10:50 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3598
Репутация: 903 ±
Замечаний: 0% ±

Excel 2003
Исправьте нарушение. Формула должна быть в тегах



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеИсправьте нарушение. Формула должна быть в тегах

Автор - AlexM
Дата добавления - 05.07.2017 в 10:50
Zhuravlev_IV Дата: Среда, 05.07.2017, 10:55 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, первый раз формулу пишу в тексте, сорри)


Журавлев Иван
 
Ответить
СообщениеAlexM, первый раз формулу пишу в тексте, сорри)

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 10:55
AlexM Дата: Среда, 05.07.2017, 11:02 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3598
Репутация: 903 ±
Замечаний: 0% ±

Excel 2003
Код
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ЕСЛИ(E5<>"";E$3&" ";"")&ЕСЛИ(F5<>"";F$3&" ";"")&ЕСЛИ(G5<>"";G$3&" ";"")&ЕСЛИ(H5<>"";H$3&" ";"")&ЕСЛИ(I5<>"";I$3&" ";"")&ЕСЛИ(J5<>"";J$3&" ";"")&ЕСЛИ(K5<>"";K$3;""));" ";";"&СИМВОЛ(10))
К сообщению приложен файл: 0570980_01.xlsx(10Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Код
=ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ЕСЛИ(E5<>"";E$3&" ";"")&ЕСЛИ(F5<>"";F$3&" ";"")&ЕСЛИ(G5<>"";G$3&" ";"")&ЕСЛИ(H5<>"";H$3&" ";"")&ЕСЛИ(I5<>"";I$3&" ";"")&ЕСЛИ(J5<>"";J$3&" ";"")&ЕСЛИ(K5<>"";K$3;""));" ";";"&СИМВОЛ(10))

Автор - AlexM
Дата добавления - 05.07.2017 в 11:02
_Boroda_ Дата: Среда, 05.07.2017, 11:03 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11659
Репутация: 4831 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вот такой монстр дурацкий получился. Это если я вообще правильно вопрос понял
Код
=ПСТР(ЕСЛИ(E5;";"&СИМВОЛ(10)&E$3;"")&ЕСЛИ(F5;";"&СИМВОЛ(10)&F$3;"")&ЕСЛИ(G5;";"&СИМВОЛ(10)&G$3;"")&ЕСЛИ(H5;";"&СИМВОЛ(10)&H$3;"")&ЕСЛИ(I5;";"&СИМВОЛ(10)&I$3;"")&ЕСЛИ(J5;";"&СИМВОЛ(10)&J$3;"")&ЕСЛИ(K5;";"&СИМВОЛ(10)&K$3;"");3;999)

Кстати да, с ПОДСТАВИТЬ лучше
Код
=ПОДСТАВИТЬ(ПСТР(ЕСЛИ(E5;"@"&E$3;"")&ЕСЛИ(F5;"@"&F$3;"")&ЕСЛИ(G5;"@"&G$3;"")&ЕСЛИ(H5;"@"&H$3;"")&ЕСЛИ(I5;"@"&I$3;"")&ЕСЛИ(J5;"@"&J$3;"")&ЕСЛИ(K5;"@"&K$3;"");2;999);"@";";"&СИМВОЛ(10))
К сообщению приложен файл: 0570980_1.xlsx(11Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВот такой монстр дурацкий получился. Это если я вообще правильно вопрос понял
Код
=ПСТР(ЕСЛИ(E5;";"&СИМВОЛ(10)&E$3;"")&ЕСЛИ(F5;";"&СИМВОЛ(10)&F$3;"")&ЕСЛИ(G5;";"&СИМВОЛ(10)&G$3;"")&ЕСЛИ(H5;";"&СИМВОЛ(10)&H$3;"")&ЕСЛИ(I5;";"&СИМВОЛ(10)&I$3;"")&ЕСЛИ(J5;";"&СИМВОЛ(10)&J$3;"")&ЕСЛИ(K5;";"&СИМВОЛ(10)&K$3;"");3;999)

Кстати да, с ПОДСТАВИТЬ лучше
Код
=ПОДСТАВИТЬ(ПСТР(ЕСЛИ(E5;"@"&E$3;"")&ЕСЛИ(F5;"@"&F$3;"")&ЕСЛИ(G5;"@"&G$3;"")&ЕСЛИ(H5;"@"&H$3;"")&ЕСЛИ(I5;"@"&I$3;"")&ЕСЛИ(J5;"@"&J$3;"")&ЕСЛИ(K5;"@"&K$3;"");2;999);"@";";"&СИМВОЛ(10))

Автор - _Boroda_
Дата добавления - 05.07.2017 в 11:03
Zhuravlev_IV Дата: Среда, 05.07.2017, 11:08 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
П.С.: столбцов в таблице может быть до 300 шт., а может и больше и их количество переменно.


Журавлев Иван
 
Ответить
СообщениеП.С.: столбцов в таблице может быть до 300 шт., а может и больше и их количество переменно.

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 11:08
_Boroda_ Дата: Среда, 05.07.2017, 11:18 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11659
Репутация: 4831 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
в таблице может быть до 300 шт
Предупреждать надо

Где-то здесь функция пользователя была. Сходу не нашел поиском, проще самому написать
[vba]
Код
Function Skley(d1_ As Range, d2_ As Range, p_)
'd1 - массив с цифрами, d2 - массив с текстом, p - разделитель
    Dim n_, s_'это всякая ненужная фигня
    For Each d_ In d1_'перебираем все ячейки из d1 и из каждой по очереди присваиваем ее значение переменной d
        n_ = n_ + 1' счетчик таких ячеек
        If d_ <> "" Then' если d не пусто
            s_ = s_ & p_ & d2_(n_)'к предыдущему склеенному значению приклеиваем справа разделитель p и соответствующее значение из диапазона d2
        End If
    Next d_
    Skley = Mid(s_, Len(p_) + 1, Len(s_))'результат функции равен =ПСТР(s_ ; ДЛСТР(p_) +1 ; ДЛСТР(s_))
End Function
[/vba]
К сообщению приложен файл: 0570980_3.xlsm(15Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
в таблице может быть до 300 шт
Предупреждать надо

Где-то здесь функция пользователя была. Сходу не нашел поиском, проще самому написать
[vba]
Код
Function Skley(d1_ As Range, d2_ As Range, p_)
'd1 - массив с цифрами, d2 - массив с текстом, p - разделитель
    Dim n_, s_'это всякая ненужная фигня
    For Each d_ In d1_'перебираем все ячейки из d1 и из каждой по очереди присваиваем ее значение переменной d
        n_ = n_ + 1' счетчик таких ячеек
        If d_ <> "" Then' если d не пусто
            s_ = s_ & p_ & d2_(n_)'к предыдущему склеенному значению приклеиваем справа разделитель p и соответствующее значение из диапазона d2
        End If
    Next d_
    Skley = Mid(s_, Len(p_) + 1, Len(s_))'результат функции равен =ПСТР(s_ ; ДЛСТР(p_) +1 ; ДЛСТР(s_))
End Function
[/vba]

Автор - _Boroda_
Дата добавления - 05.07.2017 в 11:18
Zhuravlev_IV Дата: Среда, 05.07.2017, 11:21 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Предупреждать надо

признаю, не прав)

П.С.: Пожалуйста, только не прибегайте к VBA..

и про это поздно предупредил)

не хочется прибегать к силам ВБА, но видать циклить по другому нельзя, да?..


Журавлев Иван
 
Ответить
Сообщение
Предупреждать надо

признаю, не прав)

П.С.: Пожалуйста, только не прибегайте к VBA..

и про это поздно предупредил)

не хочется прибегать к силам ВБА, но видать циклить по другому нельзя, да?..

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 11:21
_Boroda_ Дата: Среда, 05.07.2017, 11:25 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11659
Репутация: 4831 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если еще и чтобы автоматом считало и изменялось, то да
Вот здесь еще посмотрите, но там статика получится
http://www.excelworld.ru/forum/7-5056-1


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕсли еще и чтобы автоматом считало и изменялось, то да
Вот здесь еще посмотрите, но там статика получится
http://www.excelworld.ru/forum/7-5056-1

Автор - _Boroda_
Дата добавления - 05.07.2017 в 11:25
Zhuravlev_IV Дата: Среда, 05.07.2017, 11:30 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо за решения, и наводку на тему! victory


Журавлев Иван
 
Ответить
СообщениеСпасибо за решения, и наводку на тему! victory

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 11:30
Zhuravlev_IV Дата: Среда, 05.07.2017, 11:55 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
AlexM, _Boroda_,
а скажите, пожалуйста, ваше мнение по поводу моего решения задачи?


Журавлев Иван
 
Ответить
СообщениеAlexM, _Boroda_,
а скажите, пожалуйста, ваше мнение по поводу моего решения задачи?

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 11:55
_Boroda_ Дата: Среда, 05.07.2017, 13:01 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11659
Репутация: 4831 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ну, как Вам сказать? Работает - значит, уже хорошо. Немного длинновато, а по сути - это именно та формула, что мы с Алексеем предложили, только немного иначе написанная


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНу, как Вам сказать? Работает - значит, уже хорошо. Немного длинновато, а по сути - это именно та формула, что мы с Алексеем предложили, только немного иначе написанная

Автор - _Boroda_
Дата добавления - 05.07.2017 в 13:01
Zhuravlev_IV Дата: Среда, 05.07.2017, 13:13 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Просто когда диапазон столбцов за 200 шт. не удобно вручную условия к ячейкам ставить.


Журавлев Иван
 
Ответить
Сообщение_Boroda_, Просто когда диапазон столбцов за 200 шт. не удобно вручную условия к ячейкам ставить.

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 13:13
_Boroda_ Дата: Среда, 05.07.2017, 13:17 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11659
Репутация: 4831 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вот именно поэтому я Вам и дал пользовательскую функцию. И даже файл приложил, в которой продемонстрировал ее работу


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВот именно поэтому я Вам и дал пользовательскую функцию. И даже файл приложил, в которой продемонстрировал ее работу

Автор - _Boroda_
Дата добавления - 05.07.2017 в 13:17
Zhuravlev_IV Дата: Среда, 05.07.2017, 13:21 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, да, огромное Вам спасибо за файл. Проблема во мне, я VBA на простейшем уровне не знаю... не учили в своё время, а сейчас понять по литературе без применения в работе уже сложновато. Мне формулы ближе чем программирование.

С программированием нужно мозги в кучку собрать чтоб блок-схему представить, а в нужный момент почему-то мозг отказывается работать...


Журавлев Иван

Сообщение отредактировал Zhuravlev_IV - Среда, 05.07.2017, 13:28
 
Ответить
Сообщение_Boroda_, да, огромное Вам спасибо за файл. Проблема во мне, я VBA на простейшем уровне не знаю... не учили в своё время, а сейчас понять по литературе без применения в работе уже сложновато. Мне формулы ближе чем программирование.

С программированием нужно мозги в кучку собрать чтоб блок-схему представить, а в нужный момент почему-то мозг отказывается работать...

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 13:21
_Boroda_ Дата: Среда, 05.07.2017, 14:00 | Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11659
Репутация: 4831 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
С программированием нужно мозги в кучку собрать чтоб блок-схему представить

Не нужно никаких блок-схем. Просто логически немного подумать. А для облегчения смотрите комментарии в макросе (я дописал вот здесь http://www.excelworld.ru/forum/2-34365-224783-16-1499242726 )


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
С программированием нужно мозги в кучку собрать чтоб блок-схему представить

Не нужно никаких блок-схем. Просто логически немного подумать. А для облегчения смотрите комментарии в макросе (я дописал вот здесь http://www.excelworld.ru/forum/2-34365-224783-16-1499242726 )

Автор - _Boroda_
Дата добавления - 05.07.2017 в 14:00
sboy Дата: Среда, 05.07.2017, 14:16 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 1105
Репутация: 277 ±
Замечаний: 0% ±

Excel 2010
[offtop]
Dim n_, s_'это всякая ненужная фигня

:D :D :D
 
Ответить
Сообщение[offtop]
Dim n_, s_'это всякая ненужная фигня

:D :D :D

Автор - sboy
Дата добавления - 05.07.2017 в 14:16
Zhuravlev_IV Дата: Среда, 05.07.2017, 14:20 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ещё раз спасибо Вам огромное за разъяснения! pray но проблема в том что я не знаю функций VBA, их параметров и принцип написания. Счетчик знаю как работает, мыслить логически это и есть строить в черепной коробке схемы, что за чем идёт, в какой последовательности и вяжется ли вообще это с логикой.


Журавлев Иван
 
Ответить
СообщениеЕщё раз спасибо Вам огромное за разъяснения! pray но проблема в том что я не знаю функций VBA, их параметров и принцип написания. Счетчик знаю как работает, мыслить логически это и есть строить в черепной коробке схемы, что за чем идёт, в какой последовательности и вяжется ли вообще это с логикой.

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 14:20
Zhuravlev_IV Дата: Среда, 05.07.2017, 14:23 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Цитата _Boroda_, 05.07.2017 в 11:18, в сообщении № 7 ( писал(а)):
Dim n_, s_'это всякая ненужная фигня



Ага)) с переменными мы немного знакомы из работы в Mathcad..
А в древнее время был опыт с ассемблер и паскаль, но это было так давно что уже всё стёрлось...


Журавлев Иван
 
Ответить
Сообщение
Цитата _Boroda_, 05.07.2017 в 11:18, в сообщении № 7 ( писал(а)):
Dim n_, s_'это всякая ненужная фигня



Ага)) с переменными мы немного знакомы из работы в Mathcad..
А в древнее время был опыт с ассемблер и паскаль, но это было так давно что уже всё стёрлось...

Автор - Zhuravlev_IV
Дата добавления - 05.07.2017 в 14:23
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Наименование столбцов по значению в таблице (Формулы/Formulas)
Страница 1 из 11
Поиск:

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