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

Вход

Регистрация

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

 

= Мир MS Excel/И формула и текст в одной ячейке, с приоритетом формулы. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
И формула и текст в одной ячейке, с приоритетом формулы.
azzret Дата: Четверг, 10.11.2022, 02:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Господа, есть таблица, с оборудованием. В ячейке b2 нужно сделать формулу =если(a1="на складе";"Ленина 105";"") но сделать так, чтобы если в а1 будет допустим Ип кузнецов, то в b2 можно было бы вбить его адрес, а формула бы сохранилась с приоритетом, и когда опять в а1 стало бы"на складе", в b2 сработала бы формула... бился и так и этак, ближе всего нашел условное форматирование, но не то. Таблица огромная, федеральная, мне кажется что ответ где то рядом. Будтье добры.


Сообщение отредактировал azzret - Четверг, 10.11.2022, 02:57
 
Ответить
СообщениеГоспода, есть таблица, с оборудованием. В ячейке b2 нужно сделать формулу =если(a1="на складе";"Ленина 105";"") но сделать так, чтобы если в а1 будет допустим Ип кузнецов, то в b2 можно было бы вбить его адрес, а формула бы сохранилась с приоритетом, и когда опять в а1 стало бы"на складе", в b2 сработала бы формула... бился и так и этак, ближе всего нашел условное форматирование, но не то. Таблица огромная, федеральная, мне кажется что ответ где то рядом. Будтье добры.

Автор - azzret
Дата добавления - 10.11.2022 в 02:57
Gustav Дата: Четверг, 10.11.2022, 04:01 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
При такой постановке можно, например, прямо в формуле ячейки B2 "справочник" завести:
Код
=ЕСЛИОШИБКА( ВПР( A1;
{"на складе"   ; "Ленина 105"        
:"ИП Кузнецов" ; "адрес ИП Кузнецова"
:"ИП Сидорова" ; "адрес ИП Сидорова"
}
; 2; 0); "")

И с другим тэгом для наглядности:
[vba]
Код
=ЕСЛИОШИБКА( ВПР( A1;
{"на складе"   ; "Ленина 105"        
:"ИП Кузнецов" ; "адрес ИП Кузнецова"
:"ИП Сидоров" ; "адрес ИП Сидорова"
}
; 2; 0); "")
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеПри такой постановке можно, например, прямо в формуле ячейки B2 "справочник" завести:
Код
=ЕСЛИОШИБКА( ВПР( A1;
{"на складе"   ; "Ленина 105"        
:"ИП Кузнецов" ; "адрес ИП Кузнецова"
:"ИП Сидорова" ; "адрес ИП Сидорова"
}
; 2; 0); "")

И с другим тэгом для наглядности:
[vba]
Код
=ЕСЛИОШИБКА( ВПР( A1;
{"на складе"   ; "Ленина 105"        
:"ИП Кузнецов" ; "адрес ИП Кузнецова"
:"ИП Сидоров" ; "адрес ИП Сидорова"
}
; 2; 0); "")
[/vba]

Автор - Gustav
Дата добавления - 10.11.2022 в 04:01
azzret Дата: Четверг, 10.11.2022, 07:48 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Добрый день. Нет, ип кузнецов не стабилен, там тысячи клиентов и добавляются новые, уходят старые...они заносятся в ручную. Формула должна быть как бы форматом ячеек столбца, но с возможностью прописи в них сторонних данных) неизменны лишь "на складе" и "ленина 105"
 
Ответить
СообщениеДобрый день. Нет, ип кузнецов не стабилен, там тысячи клиентов и добавляются новые, уходят старые...они заносятся в ручную. Формула должна быть как бы форматом ячеек столбца, но с возможностью прописи в них сторонних данных) неизменны лишь "на складе" и "ленина 105"

Автор - azzret
Дата добавления - 10.11.2022 в 07:48
Nic70y Дата: Четверг, 10.11.2022, 08:39 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
вводите в столбец A - на складе
вводите что-то другое, при этом заполните столбец B
ниже в столбец A введите, то, что уже ввели выше - см. результат.

в модуле листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    u = Cells(Rows.Count, "a").End(xlUp).Row
    If Not Intersect(Target, Range("a1:a" & u)) Is Nothing Then
        a = Application.Match(Target.Value, Sheets("ÁÄ").Range("a:a"), 0)
        If IsNumeric(a) Then
            Target.Offset(0, 1) = Sheets("ÁÄ").Range("b" & a).Value
        Else
            Target.Offset(0, 1) = ""
            Target.Offset(0, 1).Select
        End If
    End If
    If Not Intersect(Target, Range("b1:b" & u)) Is Nothing Then
        a = Application.Match(Target.Offset(0, -1), Sheets("ÁÄ").Range("a:a"), 0)
        If IsNumeric(a) = False And Target.Offset(0, -1) <> "" And Target.Value <> "" Then
            b = Sheets("ÁÄ").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("ÁÄ").Range("a" & b & ":b" & b) = Range("a" & Target.Row & ":b" & Target.Row).Value
        End If
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 4255415.xlsm (17.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениевводите в столбец A - на складе
вводите что-то другое, при этом заполните столбец B
ниже в столбец A введите, то, что уже ввели выше - см. результат.

в модуле листа:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    u = Cells(Rows.Count, "a").End(xlUp).Row
    If Not Intersect(Target, Range("a1:a" & u)) Is Nothing Then
        a = Application.Match(Target.Value, Sheets("ÁÄ").Range("a:a"), 0)
        If IsNumeric(a) Then
            Target.Offset(0, 1) = Sheets("ÁÄ").Range("b" & a).Value
        Else
            Target.Offset(0, 1) = ""
            Target.Offset(0, 1).Select
        End If
    End If
    If Not Intersect(Target, Range("b1:b" & u)) Is Nothing Then
        a = Application.Match(Target.Offset(0, -1), Sheets("ÁÄ").Range("a:a"), 0)
        If IsNumeric(a) = False And Target.Offset(0, -1) <> "" And Target.Value <> "" Then
            b = Sheets("ÁÄ").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("ÁÄ").Range("a" & b & ":b" & b) = Range("a" & Target.Row & ":b" & Target.Row).Value
        End If
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 10.11.2022 в 08:39
_Boroda_ Дата: Четверг, 10.11.2022, 09:20 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Условным форматированием можно
К сообщению приложен файл: 75675.xlsx (8.4 Kb)


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

Автор - _Boroda_
Дата добавления - 10.11.2022 в 09:20
azzret Дата: Четверг, 10.11.2022, 16:37 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Спасибо товарищи, условным форматированием вроде выходит...но я походу вообще нубас, как два бесконечных столбца сконектить?
 
Ответить
СообщениеСпасибо товарищи, условным форматированием вроде выходит...но я походу вообще нубас, как два бесконечных столбца сконектить?

Автор - azzret
Дата добавления - 10.11.2022 в 16:37
_Boroda_ Дата: Четверг, 10.11.2022, 16:53 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Тормозить будет. Не советую
В файле в УФ уберите знак $ в формуле, скопируйте В1 и вставьте там, где нужно. Она будет работать с соседней ячейкой слева
И вообще - где ваш файл, почему мы придумываем что-то и рисуем? В правилах форума что написано?


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

Автор - _Boroda_
Дата добавления - 10.11.2022 в 16:53
azzret Дата: Четверг, 10.11.2022, 17:11 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Прошу прощения, я в поездке, пишу с телефона. Задачи в голове...из последнего поста ничего не понял, но не прошу разъяснений, Вы и так помогли


Сообщение отредактировал azzret - Четверг, 10.11.2022, 17:11
 
Ответить
СообщениеПрошу прощения, я в поездке, пишу с телефона. Задачи в голове...из последнего поста ничего не понял, но не прошу разъяснений, Вы и так помогли

Автор - azzret
Дата добавления - 10.11.2022 в 17:11
_Boroda_ Дата: Четверг, 10.11.2022, 17:24 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
из последнего поста ничего не понял

А там понимать не нужно ))) Просто выполнить последовательность действий описанную. Войти в УФ, в формулу УФ, убрать $. Сохранить УФ. Скопировать ячейку, вставить в нужные места
К сообщению приложен файл: 75675_1.xlsx (8.6 Kb)


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

А там понимать не нужно ))) Просто выполнить последовательность действий описанную. Войти в УФ, в формулу УФ, убрать $. Сохранить УФ. Скопировать ячейку, вставить в нужные места

Автор - _Boroda_
Дата добавления - 10.11.2022 в 17:24
azzret Дата: Четверг, 10.11.2022, 23:18 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Вот, файл сделал. Только наша таблица гигантская, 40 столбцов и тысячи строк. Нужно чтобы желтые менялись, по требованию главка менять местами столбцы нельзя.
К сообщению приложен файл: 1029908.xlsx (11.4 Kb)
 
Ответить
СообщениеВот, файл сделал. Только наша таблица гигантская, 40 столбцов и тысячи строк. Нужно чтобы желтые менялись, по требованию главка менять местами столбцы нельзя.

Автор - azzret
Дата добавления - 10.11.2022 в 23:18
azzret Дата: Четверг, 10.11.2022, 23:22 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, вот вообще не понимаю, для меня это марсианский, я прям нуб. А думал что в экселе шарю.
 
Ответить
СообщениеNic70y, вот вообще не понимаю, для меня это марсианский, я прям нуб. А думал что в экселе шарю.

Автор - azzret
Дата добавления - 10.11.2022 в 23:22
azzret Дата: Пятница, 11.11.2022, 01:19 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, Вот, файл сделал. Только наша таблица гигантская, 40 столбцов и тысячи строк. Нужно чтобы желтые менялись, по требованию главка менять местами столбцы нельзя.
К сообщению приложен файл: 1305562.xlsx (11.4 Kb)
 
Ответить
Сообщение_Boroda_, Вот, файл сделал. Только наша таблица гигантская, 40 столбцов и тысячи строк. Нужно чтобы желтые менялись, по требованию главка менять местами столбцы нельзя.

Автор - azzret
Дата добавления - 11.11.2022 в 01:19
_Boroda_ Дата: Пятница, 11.11.2022, 09:26 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

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


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

Автор - _Boroda_
Дата добавления - 11.11.2022 в 09:26
azzret Дата: Пятница, 11.11.2022, 12:52 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, понятно, спасибо. Я в макросы не умею, значит не выйдет(
 
Ответить
Сообщение_Boroda_, понятно, спасибо. Я в макросы не умею, значит не выйдет(

Автор - azzret
Дата добавления - 11.11.2022 в 12:52
azzret Дата: Пятница, 11.11.2022, 18:20 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, прошу прощения, изучил Ваш файл, не могли бы Вы конкретнее объяснить...я заморочился с макросами, уже что то могу
 
Ответить
СообщениеNic70y, прошу прощения, изучил Ваш файл, не могли бы Вы конкретнее объяснить...я заморочился с макросами, уже что то могу

Автор - azzret
Дата добавления - 11.11.2022 в 18:20
micholap_denis Дата: Пятница, 11.11.2022, 19:16 | Сообщение № 16
Группа: Проверенные
Ранг: Обитатель
Сообщений: 341
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Nic70y, Здравствуйте , а если не трудно можно к вашему макросу из сообщ 4 описание дать (подробно) что ьы смог у себя в файле "припилить" по аналогии
 
Ответить
СообщениеNic70y, Здравствуйте , а если не трудно можно к вашему макросу из сообщ 4 описание дать (подробно) что ьы смог у себя в файле "припилить" по аналогии

Автор - micholap_denis
Дата добавления - 11.11.2022 в 19:16
Nic70y Дата: Понедельник, 14.11.2022, 09:30 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 9006
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    u = Cells(Rows.Count, "a").End(xlUp).Row 'нижняя заполненная ячейка столбца A
    If Not Intersect(Target, Range("a1:a" & u)) Is Nothing Then 'событие изменение диапазона с A1 до нижней
        a = Application.Match(Target.Value, Sheets("БД").Range("a:a"), 0) 'ищем введенное значение на лите БД в столбце A
        If IsNumeric(a) Then 'если значение найдено:
            Target.Offset(0, 1) = Sheets("БД").Range("b" & a).Value 'в ячейку правее (столбец B) вводим значение из БД столбца B
        Else 'если значение не найдено:
            Target.Offset(0, 1) = "" 'в ячейку правее (столбец B) вводим пустоту
            Target.Offset(0, 1).Select 'выделяем эту ячейку, для ввода нового адреса
        End If
    End If
    If Not Intersect(Target, Range("b1:b" & u)) Is Nothing Then 'событие изменение диапазона с B1 до нижней, т.е ввод адреса
        a = Application.Match(Target.Offset(0, -1), Sheets("БД").Range("a:a"), 0) 'проверяем БД на наличие значения столбца A
        If IsNumeric(a) = False And Target.Offset(0, -1) <> "" And Target.Value <> "" Then 'если не найдено и ячейки не пустые
            b = Sheets("БД").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("БД").Range("a" & b & ":b" & b) = Range("a" & Target.Row & ":b" & Target.Row).Value 'вносим новые данные
        End If
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: 26.xlsm (18.2 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    u = Cells(Rows.Count, "a").End(xlUp).Row 'нижняя заполненная ячейка столбца A
    If Not Intersect(Target, Range("a1:a" & u)) Is Nothing Then 'событие изменение диапазона с A1 до нижней
        a = Application.Match(Target.Value, Sheets("БД").Range("a:a"), 0) 'ищем введенное значение на лите БД в столбце A
        If IsNumeric(a) Then 'если значение найдено:
            Target.Offset(0, 1) = Sheets("БД").Range("b" & a).Value 'в ячейку правее (столбец B) вводим значение из БД столбца B
        Else 'если значение не найдено:
            Target.Offset(0, 1) = "" 'в ячейку правее (столбец B) вводим пустоту
            Target.Offset(0, 1).Select 'выделяем эту ячейку, для ввода нового адреса
        End If
    End If
    If Not Intersect(Target, Range("b1:b" & u)) Is Nothing Then 'событие изменение диапазона с B1 до нижней, т.е ввод адреса
        a = Application.Match(Target.Offset(0, -1), Sheets("БД").Range("a:a"), 0) 'проверяем БД на наличие значения столбца A
        If IsNumeric(a) = False And Target.Offset(0, -1) <> "" And Target.Value <> "" Then 'если не найдено и ячейки не пустые
            b = Sheets("БД").Cells(Rows.Count, "a").End(xlUp).Row + 1
            Sheets("БД").Range("a" & b & ":b" & b) = Range("a" & Target.Row & ":b" & Target.Row).Value 'вносим новые данные
        End If
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 14.11.2022 в 09:30
azzret Дата: Вторник, 15.11.2022, 23:54 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, спасибо! Без вариантов) надо с букваря начинать, ничего не понятно. Вижу что все работает, но как же это без знаний сложно.
 
Ответить
СообщениеNic70y, спасибо! Без вариантов) надо с букваря начинать, ничего не понятно. Вижу что все работает, но как же это без знаний сложно.

Автор - azzret
Дата добавления - 15.11.2022 в 23:54
  • Страница 1 из 1
  • 1
Поиск:

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