Здравствуйте, форумчане!
Подскажите, пожалуйста, как мне, используя Проверку данных, сделать так, чтобы ячейка кушала ТОЛЬКО набор цифр в формате
то есть в формате [целая часть][точка][дробная часть][запятая][пробел][целая часть][точка][дробная часть]
Вот что я уже пыталась сделать:
работает так же, как и верхние две.
С функцией НАЙТИ() вместо ПОИСК() - всё то же самое
Пробовала ПОИСКПОЗ() для нахождения точного соответствия условию поиска, но, почему-то, ПОИСКПОЗ(".";G2;0) благополучно игнорирует точку, если она находится в составе числа, например, 58.1
Прибегать к VBA нежелательно
Подскажите, пожалуйста, как мне, используя Проверку данных, сделать так, чтобы ячейка кушала ТОЛЬКО набор цифр в формате
Цитата |
---|
55.123456789, 38.123456789 |
Вот что я уже пыталась сделать:
Код |
---|
=И(КОДСИМВ(ЛЕВСИМВ(G2;1))>45;КОДСИМВ(ЛЕВСИМВ(G2;1))<58;ПОИСК(", ";G2);КОДСИМВ(ЛЕВСИМВ(G2;1))>45;КОДСИМВ(ЛЕВСИМВ(G2;1))<58) |
- работает хорошо, но допускает использование запятых там, где нужны именно точки
Код |
---|
=И(КОДСИМВ(ЛЕВСИМВ(G2;1;ПОИСК(".";G2;1)-1))>47;КОДСИМВ(ЛЕВСИМВ(U5;ПОИСК(", ";G2;1)-1))<58;КОДСИМВ(ПРАВСИМВ(G2;1;ПОИСК(", ";G2;1)-1))>47;КОДСИМВ(ПРАВСИМВ(G2;1;ПОИСК(".";G2;1)-1))<58) |
- работает хорошо, но так же допускает использование запятых там, где нужны именно точки
Код |
---|
=И(КОДСИМВ(ЛЕВСИМВ(G2;1))>47;КОДСИМВ(ЛЕВСИМВ(G2;1))<58;ПОИСК(".";G2);КОДСИМВ(ЛЕВСИМВ(G2;1))>47;КОДСИМВ(ЛЕВСИМВ(G2;1))<58;ПОИСК(", ";G2);КОДСИМВ(ЛЕВСИМВ(G2;1))>47;КОДСИМВ(ЛЕВСИМВ(G2;1))<58;ПОИСК(".";G2);КОДСИМВ(ЛЕВСИМВ(G2;1))>47;КОДСИМВ(ЛЕВСИМВ(G2;1))<58) |
работает так же, как и верхние две.
С функцией НАЙТИ() вместо ПОИСК() - всё то же самое
Пробовала ПОИСКПОЗ() для нахождения точного соответствия условию поиска, но, почему-то, ПОИСКПОЗ(".";G2;0) благополучно игнорирует точку, если она находится в составе числа, например, 58.1
Прибегать к VBA нежелательно
Изменено: Almera - 23.01.2020 00:11:55