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

Вход

Регистрация

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

 

= Мир MS Excel/Формат ячейки "Произвольный текст, потом условие" - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формат ячейки "Произвольный текст, потом условие" (Формулы/Formulas)
Формат ячейки "Произвольный текст, потом условие"
DrMini Дата: Вторник, 22.11.2016, 14:41 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Помогите через формат ячейки (в ячейках C3:C21) сделать что-бы последние цифры писались через пробел (1999 12 или 1999 1). Для формулы важен пробел. А то работники пишут либо с двумя пробелами (1999 12) либо с запятой (1999,12 или 1999, 12).
К сообщению приложен файл: 20161122.xlsx (14.4 Kb)


Сообщение отредактировал DrMini - Вторник, 22.11.2016, 14:43
 
Ответить
СообщениеПомогите через формат ячейки (в ячейках C3:C21) сделать что-бы последние цифры писались через пробел (1999 12 или 1999 1). Для формулы важен пробел. А то работники пишут либо с двумя пробелами (1999 12) либо с запятой (1999,12 или 1999, 12).

Автор - DrMini
Дата добавления - 22.11.2016 в 14:41
Nic70y Дата: Вторник, 22.11.2016, 15:06 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8761
Репутация: 2273 ±
Замечаний: 0% ±

Excel 2010
формат ячейки здесь не поможет
Код
=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(C3);7);4);S$2:S$21;T$2:T$21)


ЮMoney 41001841029809
 
Ответить
Сообщениеформат ячейки здесь не поможет
Код
=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(C3);7);4);S$2:S$21;T$2:T$21)

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

Excel 2010
Добрый день.
С форматом не помогу, но если основная проблема с пробелами и запятой, то можно изменить формулу
Код
=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(C3;",";" "));7);4);S$2:S$21;T$2:T$21)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
С форматом не помогу, но если основная проблема с пробелами и запятой, то можно изменить формулу
Код
=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(C3;",";" "));7);4);S$2:S$21;T$2:T$21)

Автор - sboy
Дата добавления - 22.11.2016 в 15:08
DrMini Дата: Вторник, 22.11.2016, 15:23 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Добрый день.
С форматом не помогу, но если основная проблема с пробелами и запятой, то можно изменить формулу

=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(C3;",";" "));7);4);S$2:S$21;T$2:T$21)


Я малость Вашу формулу переделал. Потому, что последних цифр может быть и две и одна. С одной не работало. Сделал вот так:
Код
=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(C3;",";" "));7);5);S$2:S$21;T$2:T$21)


Сообщение отредактировал DrMini - Вторник, 22.11.2016, 15:23
 
Ответить
Сообщение
Добрый день.
С форматом не помогу, но если основная проблема с пробелами и запятой, то можно изменить формулу

=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(C3;",";" "));7);4);S$2:S$21;T$2:T$21)


Я малость Вашу формулу переделал. Потому, что последних цифр может быть и две и одна. С одной не работало. Сделал вот так:
Код
=ПРОСМОТР(--ЛЕВБ(ПРАВБ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(C3;",";" "));7);5);S$2:S$21;T$2:T$21)

Автор - DrMini
Дата добавления - 22.11.2016 в 15:23
krosav4ig Дата: Вторник, 22.11.2016, 15:27 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант
Код
=ВПР(АГРЕГАТ(14;6;--ПСТР(C3;ДЛСТР(C3)-СТРОКА($1:$99);4);1);$S$2:$T$21;2)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак вариант
Код
=ВПР(АГРЕГАТ(14;6;--ПСТР(C3;ДЛСТР(C3)-СТРОКА($1:$99);4);1);$S$2:$T$21;2)

Автор - krosav4ig
Дата добавления - 22.11.2016 в 15:27
DrMini Дата: Вторник, 22.11.2016, 15:32 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
krosav4ig, СПАСИБО! Это просто бомба.
 
Ответить
Сообщениеkrosav4ig, СПАСИБО! Это просто бомба.

Автор - DrMini
Дата добавления - 22.11.2016 в 15:32
Udik Дата: Вторник, 22.11.2016, 16:21 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Можно макросом, реагирует на событие листа.
[vba]
Код

Public Function Space(str1 As String) As String
Dim regEx As Object, arrStr
Dim str2 As String

str1 = Application.Trim(str1)
str2 = Right(str1, 10)

Set regEx = CreateObject("VBScript.RegExp")
With regEx
.Global = True 'Нужны все совпадения
.IgnoreCase = True 'Регистр неважен
.Pattern = "(\d+)" 'Регулярка
Space = str1
If .test(str2) Then
Set arrStr = .Execute(str2)
If arrStr.Count = 2 Then
Space = Left(str1, InStr(str1, arrStr(0).Value) - 1) & arrStr(0).Value & " " & arrStr(1).Value
Else
If Not (Len(arrStr(0)) = 6 Or Len(arrStr(0)) = 5) Then MsgBox "Длина числа не соответствует формату", 48, "Неправильный формат числа"
Space = Left(str1, InStr(str1, arrStr(0).Value) - 1) & Left(arrStr(0).Value, 4) & " " & Right(arrStr(0).Value, Len(arrStr(0).Value) - 4)
End If
End If

End With

End Function

[/vba]
К сообщению приложен файл: 9121429.xlsm (22.6 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Вторник, 22.11.2016, 16:54
 
Ответить
СообщениеМожно макросом, реагирует на событие листа.
[vba]
Код

Public Function Space(str1 As String) As String
Dim regEx As Object, arrStr
Dim str2 As String

str1 = Application.Trim(str1)
str2 = Right(str1, 10)

Set regEx = CreateObject("VBScript.RegExp")
With regEx
.Global = True 'Нужны все совпадения
.IgnoreCase = True 'Регистр неважен
.Pattern = "(\d+)" 'Регулярка
Space = str1
If .test(str2) Then
Set arrStr = .Execute(str2)
If arrStr.Count = 2 Then
Space = Left(str1, InStr(str1, arrStr(0).Value) - 1) & arrStr(0).Value & " " & arrStr(1).Value
Else
If Not (Len(arrStr(0)) = 6 Or Len(arrStr(0)) = 5) Then MsgBox "Длина числа не соответствует формату", 48, "Неправильный формат числа"
Space = Left(str1, InStr(str1, arrStr(0).Value) - 1) & Left(arrStr(0).Value, 4) & " " & Right(arrStr(0).Value, Len(arrStr(0).Value) - 4)
End If
End If

End With

End Function

[/vba]

Автор - Udik
Дата добавления - 22.11.2016 в 16:21
DrMini Дата: Вторник, 22.11.2016, 16:39 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Можно макросом, реагирует на событие листа.

Спасибо. Тоже классно. Но... После года может быт либо ОДНА либо ДВЕ цифры. В Вашем варианте когда одна цифра на конце считает неправильно.
 
Ответить
Сообщение
Можно макросом, реагирует на событие листа.

Спасибо. Тоже классно. Но... После года может быт либо ОДНА либо ДВЕ цифры. В Вашем варианте когда одна цифра на конце считает неправильно.

Автор - DrMini
Дата добавления - 22.11.2016 в 16:39
Udik Дата: Вторник, 22.11.2016, 16:51 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
В Вашем варианте когда одна цифра на конце считает неправильно

Подправил


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
В Вашем варианте когда одна цифра на конце считает неправильно

Подправил

Автор - Udik
Дата добавления - 22.11.2016 в 16:51
DrMini Дата: Вторник, 22.11.2016, 17:08 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Подправил

Вы забыли файл прикрепить. Проверил предыдущий - не работает.
 
Ответить
Сообщение
Подправил

Вы забыли файл прикрепить. Проверил предыдущий - не работает.

Автор - DrMini
Дата добавления - 22.11.2016 в 17:08
Udik Дата: Вторник, 22.11.2016, 17:18 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Проверил предыдущий - не работает.

Где не работает, на какой строке? Вроде везде нормально срабатывает.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
Проверил предыдущий - не работает.

Где не работает, на какой строке? Вроде везде нормально срабатывает.

Автор - Udik
Дата добавления - 22.11.2016 в 17:18
DrMini Дата: Вторник, 22.11.2016, 20:25 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Где не работает, на какой строке? Вроде везде нормально срабатывает.

В первой строчке поменял год и удалил одну последнюю цифру. Смотрите сами. Не работает. В ячейке L3 Должно быть 1,200.
К сообщению приложен файл: _9121429.xlsm (22.7 Kb)


Сообщение отредактировал DrMini - Вторник, 22.11.2016, 20:27
 
Ответить
Сообщение
Где не работает, на какой строке? Вроде везде нормально срабатывает.

В первой строчке поменял год и удалил одну последнюю цифру. Смотрите сами. Не работает. В ячейке L3 Должно быть 1,200.

Автор - DrMini
Дата добавления - 22.11.2016 в 20:25
_Boroda_ Дата: Вторник, 22.11.2016, 22:23 | Сообщение № 13
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А то работники пишут либо с двумя пробелами ... либо с запятой (
А если они вместо запятой еще что-то напишут? Точку, например. Или 5 пробелов зафигачат? В файле приведены примеры, когда ни одна из вышеприведенных формул не работает верно.

Предлагаю искать последние 4 цифры подряд и по ним уже ловить коэффициент.
Код
=ВПР(--ПСТР(C3;ПРОСМОТР(;-1/(ДЛСТР(--ПСТР(C3;СТРОКА($1:$99);4))=4);СТРОКА($1:$99));4);S$2:T$21;2)
К сообщению приложен файл: 20161122_1.xlsx (16.6 Kb)


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

Предлагаю искать последние 4 цифры подряд и по ним уже ловить коэффициент.
Код
=ВПР(--ПСТР(C3;ПРОСМОТР(;-1/(ДЛСТР(--ПСТР(C3;СТРОКА($1:$99);4))=4);СТРОКА($1:$99));4);S$2:T$21;2)

Автор - _Boroda_
Дата добавления - 22.11.2016 в 22:23
DrMini Дата: Среда, 23.11.2016, 07:40 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
_Александр_, Вы, как всегда делаете такое.... СПАСИБО, СПАСИБО и ещё раз СПАСИБО. Всё работает. Если не трудно поясните в формуле вот эти строчки:
Код
(;-1/    и     ($1:$99)


Сообщение отредактировал DrMini - Среда, 23.11.2016, 07:43
 
Ответить
Сообщение_Александр_, Вы, как всегда делаете такое.... СПАСИБО, СПАСИБО и ещё раз СПАСИБО. Всё работает. Если не трудно поясните в формуле вот эти строчки:
Код
(;-1/    и     ($1:$99)

Автор - DrMini
Дата добавления - 23.11.2016 в 07:40
_Boroda_ Дата: Среда, 23.11.2016, 10:32 | Сообщение № 15
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Михаил,
99 - макс. длина текста, на всякий случай напишите там 999
-1/ - смотрите вот здесь моя объяснялка по этому вопросу
http://www.excelworld.ru/forum/2-16573-138042-16-1427281717


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМихаил,
99 - макс. длина текста, на всякий случай напишите там 999
-1/ - смотрите вот здесь моя объяснялка по этому вопросу
http://www.excelworld.ru/forum/2-16573-138042-16-1427281717

Автор - _Boroda_
Дата добавления - 23.11.2016 в 10:32
DrMini Дата: Среда, 23.11.2016, 11:23 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Александр, спасибо за объяснение.
 
Ответить
СообщениеАлександр, спасибо за объяснение.

Автор - DrMini
Дата добавления - 23.11.2016 в 11:23
Udik Дата: Среда, 23.11.2016, 15:07 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Смотрите сами. Не работает. В ячейке L3 Должно быть 1,200

Про ячейку L3 слышу впервые. Что не так с С3?
Цитата
Арнтейн Крепости берут в бою, 2000 8

Цифры года отделены одним пробелом от последующего числа, а что ожидается?


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
Смотрите сами. Не работает. В ячейке L3 Должно быть 1,200

Про ячейку L3 слышу впервые. Что не так с С3?
Цитата
Арнтейн Крепости берут в бою, 2000 8

Цифры года отделены одним пробелом от последующего числа, а что ожидается?

Автор - Udik
Дата добавления - 23.11.2016 в 15:07
DrMini Дата: Среда, 23.11.2016, 16:24 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Udik, В ячейке C3 вводится текст с названием книги и в конце ставится год выпуска книги и через пробел либо однозначное либо двухзначное число (какая то фигня связанная с каталогизаторами библиотек). А в ячейке L3 должен подставляться из таблицы коэффициент уценки книг [Примерно вот в таком формате: "Название книги, 1999 22" или "Название книги, 1999 1"]. А библиотекари при наборе бывает путают и вводят вот в таком формате ["Название книги, 1999, 22" "Название книги, 1999 22"] и формула (которая была в самом начале поста предложенная _Boroda_, работала некорректно.). Вроде понятно объяснил. А если использовать макрос, то может в него и "вложить" коэффициенты уценки привязанные к годам выпуска книг и отказаться от таблицы. Повторюсь, если я в формулах кое, как понимаю, то в VBA вааще полный НОЛЬ.
 
Ответить
СообщениеUdik, В ячейке C3 вводится текст с названием книги и в конце ставится год выпуска книги и через пробел либо однозначное либо двухзначное число (какая то фигня связанная с каталогизаторами библиотек). А в ячейке L3 должен подставляться из таблицы коэффициент уценки книг [Примерно вот в таком формате: "Название книги, 1999 22" или "Название книги, 1999 1"]. А библиотекари при наборе бывает путают и вводят вот в таком формате ["Название книги, 1999, 22" "Название книги, 1999 22"] и формула (которая была в самом начале поста предложенная _Boroda_, работала некорректно.). Вроде понятно объяснил. А если использовать макрос, то может в него и "вложить" коэффициенты уценки привязанные к годам выпуска книг и отказаться от таблицы. Повторюсь, если я в формулах кое, как понимаю, то в VBA вааще полный НОЛЬ.

Автор - DrMini
Дата добавления - 23.11.2016 в 16:24
Udik Дата: Среда, 23.11.2016, 16:54 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
Так Вы сначала объясните что не так в ячейке С3 выводится, я понять не могу. С формулами потом разбираться будем, если модераторы не погонят в новую тему :)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеТак Вы сначала объясните что не так в ячейке С3 выводится, я понять не могу. С формулами потом разбираться будем, если модераторы не погонят в новую тему :)

Автор - Udik
Дата добавления - 23.11.2016 в 16:54
DrMini Дата: Среда, 23.11.2016, 18:59 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 209 ±
Замечаний: 0% ±

Excel LTSC 2024 RUS
Так Вы сначала объясните что не так в ячейке С3 выводится

В ячейке C3 всё нормально выводится (запятые удаляются и пробелы лишние тоже). Только при вводе в ячейку C3 одной цифры после года, в ячейке L3 формула работает неправильно. Я же приложил файл и написал, как должно быть. Например в ячейке C3 вводим "текст потом 2000 55" и получаем в ячейке L3 коэффициент соответствующий ячейке T14. Но только изменим значение ячейки C3 на "текст потом 2000 5" (удалим одну цифру в конце) и в ячейке L3 значение станет неверным.
 
Ответить
Сообщение
Так Вы сначала объясните что не так в ячейке С3 выводится

В ячейке C3 всё нормально выводится (запятые удаляются и пробелы лишние тоже). Только при вводе в ячейку C3 одной цифры после года, в ячейке L3 формула работает неправильно. Я же приложил файл и написал, как должно быть. Например в ячейке C3 вводим "текст потом 2000 55" и получаем в ячейке L3 коэффициент соответствующий ячейке T14. Но только изменим значение ячейки C3 на "текст потом 2000 5" (удалим одну цифру в конце) и в ячейке L3 значение станет неверным.

Автор - DrMini
Дата добавления - 23.11.2016 в 18:59
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формат ячейки "Произвольный текст, потом условие" (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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