|
|
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
Привет всем! Работает кучка функций со строкой: =(СЦЕПИТЬ("=";ЗАМЕНИТЬ(D25;НАЙТИ("=";D25);20;))) в результате получается, например , такое значение : =(3+3*4)*0.34*1.075*10.5*0.85 ,но это текстовая строка,а мне надо чтобы это отработало как формула в ячейке, можно ли это как то сделать ? Пробовал копировать и вставлять специальной вставкой значение ,все норамально копируется но как формула отрабатывает лишь после активации ячейки для ввода + Enter. Можно ли результат как то автоматически получить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:07:17 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
Возможно есть способ проще, но я предлагаю использовать функцию значен() и судя по всему ее придется вставлять в формуле каждый раз где встречается число, выраженное текстом, т.е. что-то типа: =(СЦЕПИТЬ("="; ЗНАЧЕН(ЗАМЕНИТЬ(D25;НАЙТИ("=";D25);20;)) и т.д. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:10:17 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
Кстати, функцию сцепить() можно не использовать, а сделать так: =ЗНАЧЕН("26")*ЗНАЧЕН("45") и т.д. Вместо 26 и 45, конечно, и нужно вставлять твои выборки, если они возвращают число текстом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:17:41 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
не то все это,похоже это можно сделать только при помощи VBA или все-таки я не прав ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 12:34:55 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
Мишельне то все это,похоже это можно сделать только при помощи VBA или все-таки я не прав ? Без конкретного примера трудно сказать. Возможно вы не правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 12:39:29 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
Вот конкретный пример : строка в D25 например: (3+3*4.0)*0.34*1.075*10.5*0.85=48.9313125 формула с функциями к D25 в J25: =(СЦЕПИТЬ("=";ЗАМЕНИТЬ(D25;НАЙТИ("=";D25);20;))) результат в J25 же : =(3+3*4)*0.34*1.075*10.5*0.85 Вот и вся картина . D25 получается запросом Interbase-MsQuery-Excel, надо чтобы в Excel юзверь мог в ячейке J25 правя формулу получать результат, но не парясь преобразовывая строку в формулу,а сразу имея ее после запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 13:23:35 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
У меня предложение: зачем все параметры формулы считать сразу? Если можно при получении текстовой строки соблюсти 2 условия, то данную задачу очень просто решить. 1. Оставить неизменным саму формулу уравнения. Тк, что бы в ней менялись только числа. 2. Сохранить разрядность чисел. Т.е. где 0,00 там всегда 0,00; а где 0 000 там всегда 0 000. Тогда можно найти каждое число в отдельности и составить уравнение. Для этого понадобится пара ПСТР() -ов и несколько ЗНАЧЕН() -ов :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 14:20:48 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
D25 - это строковое поле из БД Interbase и вытаскивается 1:1, нужные функции Sql в MsQuery практически отсутствуют .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 14:57:17 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
1-е в ячейке "J25" напиши "=ЗАМЕНИТЬ(D25;НАЙТИ("=";D25);20;)" 2-е нужно в редакторе VB вставить модуль куда скопировать эту пользовательскую функцию вызоваешь её как обычную формулу в ячейке пишишь "=Preobraz(J25)" Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:00:38 |
|
||
|
Консультация по Excel
|
|||
|---|---|---|---|
|
#18+
МишельD25 - это строковое поле из БД Interbase и вытаскивается 1:1, нужные функции Sql в MsQuery практически отсутствуют ....В MS Query функции SQL отсутсвуют вообще. Все SQL функции в запросе выполняются SQL сервером. а вместо "=replace(D25, find("=", D25), 20, )" лучше будет написать "=left(d25, find("=", d25)-1)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 18:29:07 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33738920&tid=2184823]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 379ms |

| 0 / 0 |
