Страницы: 1
RSS
2 значения в объединенной ячейки
 
Добрый день!  
Форумчане, может кто-то встречался с подобным в таблицах Excel, лично я впервые!  
Существует таблица, собранная из разных файлов ексель (путем обычного копирования)  
В 2х строках (желтые в прикрепл. файле)в объединенных ячейках каким-то образом содержится 2 значения. Если воспользоваться автосуммой, то значение в 2раза больше, чем алгебраическая сумма. Если ячейки разъединить, то появляются 2 значения в 2х разных ячейках. Внимание вопрос: Каким образом это второе значение сохраняется во второй ячейке?  
И главное - можно ли это предотвратить, контролировать, понять когда можно этого ожидать? Данное явление весьма опасно в работе и не хотелось бы все расчеты в ексель перепроверять с калькулятором.  
Заранее спасибо. Галина.
 
http://www.planetaexcel.ru/forum.php?thread_id=13533  
 
-=97879=-
Я сам - дурнее всякого примера! ...
 
Зло - объединенные ячейки - оно и есть зло. И не только в желтых - см. красным помеченное... К сожалению, чем и как выявлять и предохраняться не знаю... ;( -51017-
 
но как такое можно получить???  
 
я в 2003-м уже полчаса пытаюсь воспроизвести такую ситуацию.  
или это глюк xlsx-ов? :)  
 
 
пс.    
предохраняться - не знаю как...    
контролировать - на ум приходит макрос, который будет перебирать все объединенные ячейки на листе и проверять, одно у них значение или нет в mergearea. что дальше - вопрос... можно отчет состряпать по результатам проверки, можно сразу разъединять, оставлять только верхнее левое значение, и снова объединять.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Предохраняться знамо как - не использовать объединенных ячеек в расчетных таблицах. Таблица из примера, простите, какое-то недоразумение. Нормально выстраивать каждую запись в одну строку. Тогда никаких проблем с расчетами возникать не будет.
Я сам - дурнее всякого примера! ...
 
спасибо за ссылку, теперь понятно как это получается...файл попал ко мне из 3х рук,но думаю вряд ли его подвергали столь сложным манипуляциям:  
"1. Копируешь объединяемые ячейки куда-то в свободное место.  
2. Там их объединяешь, говоря "Ну и фиг с ним" на предупреждение Ёкселя о том, что все данные кроме левой верхней ячейки будут потеряны.  
3. С объединённых ячеек копируешь формат (формат по образцу) и форматируешь им исходные ячейки"
 
{quote}{login=gr19}{date=17.03.2012 02:26}{post}...таблица, собранная из разных файлов ексель (путем обычного копирования)...{/post}{/quote}  
И тут же пишете, что "файл попал ко мне из 3х рук..."  
 
Склонен думать, что данные подгружались не из файлов Excel.  
При копировании информации из сторонних приложений еще и не такое бывает.
 
to KukLP, Z  
Совершенно с Вами согласна насчет объединения ячеек. Но! Это явление исчезнет только если его истребят как факт в мс оффис.    
Часто приходится работать на поле, созданном другим работником, и форматировать его таблицы нет ни времени, ни желания. Остается только знать где можно споткнуться о "подводные камни" и где "соломку подстелить"
 
to vikttur  
я тоже изначально подумала об экспорте из гранд сметы. "3-и руки" божились о том что файл был собран из другх НАБРАННЫХ ексель. Не думаю, что был смысл говорить неправду.
 
Не истребят:-) Нет ничего плохого в их использовании в бланках, отчетах, там где не производятся сложные расчеты, выборки. Просто не все понимают, куда одевать фрак, а где вполне сойдут джинсы.
Я сам - дурнее всякого примера! ...
 
для KukLP  
Да, но, как я считаю, для всего того, где нет расчетов удобнее использовать ворд. А у нас точно всё наоборот - то расчеты конструкций в ворде набирают вычисляя корень 5й степени на калькуляторе, то в екселе до минимума сокращают ячейки и начинают художества...
 
для ikki  
а можно ли Вас попросить накидать данный код? Про итог - наверное, лучше чтобы ячейки сразу теряли второе "скрытое" значение. Конечно,первоначально хочется выяснить природу этого явления. Зачем исправлять, если можно предотвратить?))
 
вот черновичок, проверен на вашем файле, сохраненном в xls (у меня ex'2003)  
возможно, если чуть подумать, то можно найти вариант побыстрее :)  
 
Sub ordnung()  
 For Each c In ActiveSheet.UsedRange.Cells  
   If c.MergeCells Then  
     If c.MergeArea.Cells(1).Address <> c.Address Then c.Value = Empty  
   End If  
 Next  
End Sub
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Код проверила на исходной таблице - работает. Спасибо Вам большое!
Страницы: 1
Наверх