Проблема с не длинной формулой, которую Excel считает длинной

Автор samytay, 28.07.2011, 21:54

« назад - далее »

samytay

Добрый вечер! Суть в следующем - есть большая база магазина, которая для удобства импорта-экспорта хранится в xls-файле. В ней к описаниям продуктов необходимо добавлять некоторые ключевые слова, типа категорий, подкатегорий, производителей, которые хранятся в других столбцах или даже в других книгах. Такие вещи выдираются следующими кусками формул:
="<h2>Дополнительные материалы - "&СТРОЧН(RC[9])&" "&RC[8]&":</h2><strong>"&RC[-37]&"</strong> - это "&RC[10]&" и "&RC[11]&", рубрики <strong>"&ПРОСМОТР(ЗНАЧЕН(ЛЕВСИМВ(RC[-36];4 ));Categories!C1;Categories!C3)&"</strong> ("&СТРОЧН(ПРОСМОТР(ЗНАЧЕН(ПРОСМОТР(ЗНАЧЕН(ЛЕВСИМВ(RC[-36];4 ));Categories!C1;Categories!C2));Categories!C1;Categories!C3))&") в интернет-магазине, где размещается "&СТРОЧН(RC[9])&" "&RC[8]&"
и так далее.

При этом в ячейку не записывается формула длинной более 800-1000 символов (в разных случаях по разному, в зависимости от сложности внутренних формул), поскольку появляется ошибка:
ЦитироватьНе удается ввести указанную формулу, поскольку она содержит больше значений, ссылок или имен, чем допускается текущим форматом файла.

Из-за этого формулу приходится разбивать на 9 частей, что очень неудобно.
Есть ли какие то способы обойти данный момент?
P.S. При переводе формата ячейки в Текстовый, можно ввести больше формул, но они перестают считаться.
P.P.S. Про функцию ВПР(_) знаю, с ее помощью проблему, как мне кажется, не решить - слишком много ячеек нужно задействовать.

samytay

Пожалуйста, я попробовал максимально упростить все, и оставил только самые важные поля. Работу нужных формул должно быть видно, также добавлю пояснения к ячейкам:

R2C2 - название товара (Apple Ipod Nano)
R2C3 - индекс категорий, который вводится из списка на листе Categories, там же находится и описание этих категорий
R2C7 - модель товара и кратко характеристики с запятыми (Nano-1, Компактный плеер, память 4 Гб, экран 2", мощность 2 Вт)
R2C8 - название производителя (Apple)
R2C26 - описание товара, составленное вручную. Оно не меняется и не учавствует в рассчете.

Все указанные выше поля сохраняются в базу магазина, дальше идут черновые поля, которые являются просто вспомогательными в рассчетах:
R2C38 - здесь объединяется нормальное описание из вышеуказанной ячейки R2C8 и результаты генерации описаний из следующих ячеек.
R2C39 и R2C40 - шаблоны для генерации описаний, которые хватают данные по всем листам. Именно они являются проблемой, так как изначально стоит задача - объединить формулы из всех этих ячеек в одну ячейку. В качестве примера я сократил их кол-во, в реальном магазине учавствует 9 таких ячеек с кусками формул.
R2C47 и следующие ячейки - сюда копируется поле R2C7 с моделью и краткими характеристиками, но при этом учитываются разделители - запятые, получается такая картина, что в эту ячейку попадает модель, в следующую - тип, в послеследующую - параметр продукции 1, дальше - параметр 2 и т.д. Потом из этих ячеек растаскивается информация в ячейки шаблонов (синие которые).

Кстати, если кто-то занимается интернет-магазинами, то возьмите как пример того, как можно делать описания на основе технических характеристик. Надеюсь суть понятна.

samytay

У кого есть предложения помимо оптимизации формул?

Serge 007

Цитата: samytay от 29.07.2011, 04:38
У кого есть предложения помимо оптимизации формул?
Ставьте 2010 Excel. В нём будет работать и без оптимизации формул.
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

samytay

Цитата: Serge 007 от 29.07.2011, 10:05
Цитата: samytay от 29.07.2011, 04:38
У кого есть предложения помимо оптимизации формул?
Ставьте 2010 Excel. В нём будет работать и без оптимизации формул.
Я еще с бета-версии им пользуюсь :) Не помогает, в xlsx-формате то же самое.

samytay

Цитата: Serge 007 от 29.07.2011, 15:06
Я вчера в 2010 открывал - работает.
Что именно? У меня тоже все работает в таком виде, я писал в первом сообщении, что не работает слияние всех кусков формул в одну.
Во вложении был полностью рабочий вариант, но если вы попробуете объединить формулы из ячеек R2C39 и R2C40 в одну - появиться эта ошибка, о которой я и писал. Попробуйте сами.

samytay


langeron

samytay, я объединил две ячейки, которые Вы указали (R2C52). Результат в приложенном файле. Опишите конкретно, что вы делаете когда получаете ошибку.

MCH

в 2003 офисе невозможно ввести формулу длиннее 1000 с небольшим символов, но такие формулы спокойно вводятся в 2007/2010.
Что можно сделать:
1. Делать в разных ячейках, потом их сцеплять (как в принципе делается и сейчас)
2. Работать в 2007/2010
3. Оптимизировать формулы
например кусок формулы:
ПРОСМОТР(ЗНАЧЕН(ПРОСМОТР(ЗНАЧЕН(ЛЕВСИМВ(C2;4 ));Categories!$A:$A;Categories!$B:$B));Categories!$A:$A;Categories!$C:$C)можно заменить на:
ВПР(ВПР(--ЛЕВСИМВ(C2;4);Categories!$A:$B;2);Categories!$A:$C;3)

4. Использовать имена. Кускам часто повторяющегося текста можно присвоить имя, и их уже использовать в формулах