Можно так:
Формула массива =ПОИСКПОЗ(1;ЕСЛИ(B18=B24:B43;1;0);0)
Возвращает номер «строки» массива, в данном случае 15. Длинна значения, условно, не имеет.
Потом производим смещение, в вашем случае так:
=СМЕЩ(D23;ПОИСКПОЗ(1;ЕСЛИ(B18=B24:B43;1;0);0);0;1;1)
Опять же, массивом.
Для ввода массива нужно вводить ctrl+shift+enter.
Но это для случая, когда при выборе из списка в ячейке b18 значение не «обрезается» до 255 знаков. В 2007 не обрезается, насчёт 2003 не уверен. Т е у вас сейчас там 255 знаков, если вы вручную сократили до 255, то верхняя формула подойдёт, если нет, то читаем дальше…
Как вариант, если происходит обрезание при выборе из выпадающего списка, поиск по тому же принципу первых 255 знаков по массиву из «обрезанных до 255 знаков» значений.
=СМЕЩ(D23;ПОИСКПОЗ(ПСТР(B18;1;255);ПСТР(B24:B43;1;255);0);0;1;1)
массив(ctrl+shift+enter).
Ищет первое совпадение первых 255 знаков ячейки b18 в массиве из значений «первых 255 знаков».
PS: формулы массива вводятся нажатием ctrl+shift+enter, а не просто enter.
Формулы массива не дружат с объединёнными ячейками. Для ввода формулы массива в объединённую ячейку, нужно вначале убрать объединение ячеек, потом ввести формулу массива, а потом опять объединить эти ячейки.
В файле-примере приведены оба варианта.
Now this is one messy function. You have to seperate your input to CONCATENATE
.
Right now you have there only one very big string starting on «insert …» ending on «….MID(O2,3,2),»)» — or at least, that is where I think this ends, because of all the «,» it’s really tough to step through this.
Here is how you should use CONCATENATE
:
=CONCATENATE("insert into #UpdateData (mondayopenhour,","mondayopenmin,")
You can extend this, so you won’t have a single string which is longer than 255 characters.
edit: by the way — your current string has about 972 characters.
you can ease the seperation by using this formula:
=MID("insert into #UpdateData (mondayopenhour, mondayopenmin,mondayclosehour, mondayclosemin,tuesdayopenhour, tuesdayopenmin,tuesdayclosehour, tuesdayclosemin,wednesdayopenhour, wednesdayopenmin, wednesdayclosehour, wednesdayclosemin,thursdayopenhour, thursdayopenmin,thursdayclosehour, thursdayclosemin, fridayopenhour, fridayopenmin, fridayclosehour, fridayclosemin, saturdayopenhour, saturdayopenmin, saturdayclosehour, saturdayclosemin, sundayopenhour, sundayopenmin, sundayclosehour, sundayclosemin values ('",TRIM(A2),"',",MID(B2,1,2),",",MID(B2,3,2),",",MID(C2,1,2),",",MID(C2,3,2),",",MID(D2,1,2),",",MID(D2,3,2),",",(MID(E2,1,2),",",MID(E2,3,2),",",MID(F2,1,2),",",MID(F2,3,2),",",MID(G2,1,2),",",MID(G2,3,2),",",MID(H2,1,2),",",MID(H2,3,2),",",MID(I2,1,2),",",MID(I2,3,2),",",MID(J2,1,2),",",MID(J2,3,2),",",MID(K2,1,2),",",MID(K2,3,2),",",MID(L2,1,2),",",MID(L2,3,2),",",MID(M2,1,2),",",MID(M2,3,2),",",MID(N2,1,2),",",MID(N2,3,2),",",MID(O2,1,2),",",MID(O2,3,2),")",2,255)
If you are asking how many characters can you enter in a cell, the answer is a lot more than just 255, depending on your version of Excel. Allan Wyatt says 32,767 with some caveats (in this article). I frequently display more than 255 characters in a cell, though to do so usually means using Word Wrap and smaller font.
If you are asking how to determine the maximum number of characters in a cell from a range of cells, such as
A1 = abcd
A2 = abc
A3 = abcdedf
A4 = abcdedfghij
then you can use an array formula such as {=MAX(LEN(A1:A4))}
If you are asking how to restrict a cell to a maximum number of characters, then the answer is to use Data > Data Validation and choose «Text Length» from the Allow field.
0 / 0 / 0 Регистрация: 29.03.2012 Сообщений: 8 |
|
1 |
|
29.03.2012, 17:54. Показов 8161. Ответов 5
Здравствуйте. Подскажите как отобразить более 255 символов в одной ячейке Exel, длинный текст. А лучше как сложить несколько ячеек в один длинный текст и чтобы он отображался весь, а не урезался. Думаю ячейка одна с этим не справится, нужно использовать текстовый бокс или в 2010 офисе Вставка—>Надпись. Функция «Объединить» с ним не работает так же как и «&». Заране благодарен. Sub text() Так выглядит у меня макрос на заполнение текстового бокса из одной ячейки. Поскольку только вчера научился немного записывать макросы, незнаю синтаксиса для их редактирования. Собрать текст из нескольких ячек, «=$A$2+$B$2» не работает.
0 |
Модератор 11336 / 4655 / 748 Регистрация: 07.08.2010 Сообщений: 13,484 Записей в блоге: 4 |
|
29.03.2012, 20:24 |
2 |
отобразить или распечатать ?
0 |
0 / 0 / 0 Регистрация: 29.03.2012 Сообщений: 8 |
|
29.03.2012, 20:37 [ТС] |
3 |
Хочется чтобы и отображалось нормально и рапечатывалось ровно и красиво. Конечно о форматировании пока и не задумываюсь. Само текстовое текстовое поле Вставка—>Надпись позволяет вписывать большой текст вручную. Также оно отображается при просмотре страницы полностью. Только у меня не получается в нем содержимое нескольких текстовых ячеек объединить без разрывов в тексте.
0 |
Модератор 11336 / 4655 / 748 Регистрация: 07.08.2010 Сообщений: 13,484 Записей в блоге: 4 |
|
29.03.2012, 21:36 |
4 |
при нестандартных хотелках обычно выкладывают текст может быть условный, значность ячеек должна соответствовать реалиям
0 |
0 / 0 / 0 Регистрация: 29.03.2012 Сообщений: 8 |
|
29.03.2012, 22:04 [ТС] |
5 |
Итак, имеем лист Exel на котором в ячейках В2,В3,В4 длинный текст. На листе есть Textbox в который можно вручную вставить длинный текст. Необходимо вставить текст из ячеек В2,В3,В4 друг за другом без пробелов в Textbox, так чтобы он отображался полностью и небыл обрезан. В моем примере, даже вставив одну строку В2 в конце которой имеется символ «4», Textbox не отображает его, а строка заканчивается «3».
0 |
shanemac51 Модератор 11336 / 4655 / 748 Регистрация: 07.08.2010 Сообщений: 13,484 Записей в блоге: 4 |
||||
30.03.2012, 00:16 |
6 |
|||
в ячейку вставил корректно в текст-бокс —не получается Добавлено через 26 минут
1 |
Форум программистов Vingrad
Модераторы: mihanik
Страницы: (2) Все [1] 2 |
Поиск: |
|
Как обойти ограничение в 255 символов? при использовании источников данных |
Опции темы |
Валк |
|
||
Шустрый Профиль Репутация: нет
|
При формировании мною данных (отчасти автоматическом) в ячейке Excel может быть размещено более 255 символов. При использовании источников данных (как пример, при копировании листов) в этом случае никакого слияния данных из этой ячейки не происходит. Как побороть? |
||
|
|||
Izuver |
|
||
Опытный Профиль
Репутация: 2
|
Можно по подробней о«При использовании источников данных (как пример, при копировании листов) в этом случае никакого слияния данных из этой ячейки не происходит» Добавлено @ 23:37
В ячейку я запихнул 6000 символов (это конечно не предел). В одной ячейке, в видимой части или при распечатке вижу 1360 символов. Символы были ввиде: |
||
|
|||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Izuver Попробуй открыть две книги. В любом листе одной из них в любую из ячеек запиши более 255 символов (любых, у меня, в частности, помимо обычных символьных использовались и служебные), затем щёлкни по по названию этого листа правой кнопкой манипулятора. В контекстном меню выбери Переместить/скопировать -> Выбираешь другую книгу -> Отмечаешь чек-бокс «Создавать копию» -> ОК (Внимание, в книге куда копируется лист не должно быть листа с именем как и у копируемого листа). Если у тебя в какой-либо ячейке более 255 символов, то Excel ругнётся, что не может скопировать все символы. У меня ситуация несколько другая (но она натыкается на такое же ограничение). Я использую слияние. Книга Excel у меня используется как источник данных из которого я их переношу в документ Word. Если в какой-либо ячейке получается более 255 символов, то эти данные либо переносятся не полностью, либо не переносятся вовсе. Я думал, что и в этом случае как-то можно обойти эту проблему. К сожалению, не получилось Вопрос означенный в теме я помечаю как решённый, однако если кто знает как побороть это ограничение, то прошу отписать тут. |
||
|
|||
Romikgy |
|
||
Любитель-программер Профиль
Репутация: нет
|
CopyWheet1(1, 1, 2, 1) — копирует с 1 книги 1 листа на 2 книгу 1 лист ——————— Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||
|
|||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Romikgy |
||
|
|||
Romikgy |
|
||||
Любитель-программер Профиль
Репутация: нет
|
точнее ?
ты сказал , есть проблема с переносом длинных строк из одного листа книги на другой лист книги, я показал как ее обойти, также можно копировать в ворд, юзай только CopyLongString , правда ее переделать надо ——————— Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Romikgy также можно копировать в ворд, юзай только CopyLongString |
||
|
|||
Romikgy |
|
||
Любитель-программер Профиль
Репутация: нет
|
дык скажи че те конкретно надо , а не закоулками ЗЫ сверху есть кнопочка тыстрая цитата , те понравиться ——————— Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||
|
|||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Romikgy Если интересует общая постановка задачи, то уже стыдно признаваться (ибо заранее знаю, что пошлют читать букварь). |
||
|
|||
Romikgy |
|
||||
Любитель-программер Профиль
Репутация: нет
|
не представляю, даже таких страшных слов не знаю
в качестве базы Эксель? ——————— Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Romikgy |
||
|
|||
Romikgy |
|
||
Любитель-программер Профиль
Репутация: нет
|
самый простой вариант , раздели надписи в ячейках , что бы было меньше 250 символов , или переноси как показал я через VBA , имхо так будет даже правильнее и документы можно и формировать и форматировать автоматически ——————— Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||
|
|||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Romikgy документы можно и формировать и форматировать автоматически |
||
|
|||
Romikgy |
|
||
Любитель-программер Профиль
Репутация: нет
|
ну дык учи вба, если что тут помагать будут ——————— Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||
|
|||
Валк |
|
||
Шустрый Профиль Репутация: нет
|
Romikgy |
||
|
|||
Страницы: (2) Все [1] 2 |
|
Правила форума «Программирование, связанное с MS Office» | |
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми
Если Вам понравилась атмосфера форума, заходите к нам чаще! |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
Сравнение ячеек имеющих более 255 символов |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |