Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скрипт для Google таблицы - объединение данных двух столбцов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Скрипт для Google таблицы - объединение данных двух столбцов
Marisa Дата: Четверг, 01.10.2020, 00:56 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Прошу помощи. Есть гугл таблица https://docs.google.com/spreads....2cER6WM
Мне нужно если в столбеце "Хэштег новый" есть запись, то перенести ее в столбец Хэштег через ';' и удалить из столбца Хэштег новый. Затем проверить на дубли, например по имени и удалить если они (дубли) есть. Часть скрипта, который копирует данные с другого листа на лист "Архив" в первую пустую строку я сделала, а далее никак. Буду благодарна за любую помощь.
 
Ответить
СообщениеПрошу помощи. Есть гугл таблица https://docs.google.com/spreads....2cER6WM
Мне нужно если в столбеце "Хэштег новый" есть запись, то перенести ее в столбец Хэштег через ';' и удалить из столбца Хэштег новый. Затем проверить на дубли, например по имени и удалить если они (дубли) есть. Часть скрипта, который копирует данные с другого листа на лист "Архив" в первую пустую строку я сделала, а далее никак. Буду благодарна за любую помощь.

Автор - Marisa
Дата добавления - 01.10.2020 в 00:56
Kashimirush Дата: Четверг, 01.10.2020, 13:29 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
По примеру не понятно что вы хотите (все хэштеги должны в итоге оказаться в одной ячейке за все время или же только за один день - одна ячейка, как хэштеги соотносятся с другими колонками и т.д. много вопросов по примеру), задайте конкретный вопрос , или создайте пример с тем "как есть" и "что вы хотите". Редактор скриптов у вас пуст, оценить ваше решение по примеру не предстаёт возможным.
Да и вообще ваш вопрос больше похож на заказ, раздел Работа / Фриланс, может вам больше подойдет.


Работа, работа, перейди на Федота...
 
Ответить
СообщениеПо примеру не понятно что вы хотите (все хэштеги должны в итоге оказаться в одной ячейке за все время или же только за один день - одна ячейка, как хэштеги соотносятся с другими колонками и т.д. много вопросов по примеру), задайте конкретный вопрос , или создайте пример с тем "как есть" и "что вы хотите". Редактор скриптов у вас пуст, оценить ваше решение по примеру не предстаёт возможным.
Да и вообще ваш вопрос больше похож на заказ, раздел Работа / Фриланс, может вам больше подойдет.

Автор - Kashimirush
Дата добавления - 01.10.2020 в 13:29
Marisa Дата: Четверг, 01.10.2020, 13:50 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Файл поправила, помогите хотя бы сцепить 2 столбца, по датам ничего не нужно. Я пробовала сделать столбец с формулой и его копировать, с помощью copyto, но значения не копируются, наверно из-за формулы. Соединить эти столбцы с помощью кода - не хватает знаний и опыта :(


Сообщение отредактировал Marisa - Четверг, 01.10.2020, 14:03
 
Ответить
СообщениеФайл поправила, помогите хотя бы сцепить 2 столбца, по датам ничего не нужно. Я пробовала сделать столбец с формулой и его копировать, с помощью copyto, но значения не копируются, наверно из-за формулы. Соединить эти столбцы с помощью кода - не хватает знаний и опыта :(

Автор - Marisa
Дата добавления - 01.10.2020 в 13:50
Kashimirush Дата: Пятница, 02.10.2020, 07:28 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
помогите хотя бы сцепить 2 столбца, по

Два варианта описал в вашей таблице.
А вот это:
но значения не копируются, наверно из-за формулы.

очень странно, CTRL+C CTRL+V всегда должны работать, если вставлять данные как значения а не формулы
К сообщению приложен файл: 7834286.jpg (15.4 Kb)


Работа, работа, перейди на Федота...
 
Ответить
Сообщение
помогите хотя бы сцепить 2 столбца, по

Два варианта описал в вашей таблице.
А вот это:
но значения не копируются, наверно из-за формулы.

очень странно, CTRL+C CTRL+V всегда должны работать, если вставлять данные как значения а не формулы

Автор - Kashimirush
Дата добавления - 02.10.2020 в 07:28
Marisa Дата: Пятница, 02.10.2020, 20:19 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
очень странно, CTRL+C CTRL+V всегда должны работать, если вставлять данные как значения а не формулы


Я же изначально писала, что ищу решение через скрипт. Вопрос снят. Нашла решение. Я пыталась использовать [vba]
Код
rang1.copyTo(rang2,{contentsOnly:true});
[/vba]
но у меня формула массива в столбце который я хотела копировать, значения не копировались, поэтому искала решение (в том числе и на этом форуме).
Получилось скопировать с помощью
[vba]
Код
var valuesToCopy = ss.getRange(3,9,10,1).getValues();
ss.getRange(3,5,10,1).setValues(valuesToCopy);
[/vba]
может кому-то также пригодится.


Сообщение отредактировал Marisa - Суббота, 03.10.2020, 00:19
 
Ответить
Сообщение
очень странно, CTRL+C CTRL+V всегда должны работать, если вставлять данные как значения а не формулы


Я же изначально писала, что ищу решение через скрипт. Вопрос снят. Нашла решение. Я пыталась использовать [vba]
Код
rang1.copyTo(rang2,{contentsOnly:true});
[/vba]
но у меня формула массива в столбце который я хотела копировать, значения не копировались, поэтому искала решение (в том числе и на этом форуме).
Получилось скопировать с помощью
[vba]
Код
var valuesToCopy = ss.getRange(3,9,10,1).getValues();
ss.getRange(3,5,10,1).setValues(valuesToCopy);
[/vba]
может кому-то также пригодится.

Автор - Marisa
Дата добавления - 02.10.2020 в 20:19
Gustav Дата: Суббота, 03.10.2020, 15:37 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2809
Репутация: 1184 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Набросал реализацию для встроенного простого триггера onEdit. Общее поведение такое: в ячейку колонки "Хэштег новый" вводим значение тэга и нажимаем Enter - тэг добавляется в список колонки "Хэштег" (в ячейку слева от редактируемой), а редактируемая ячейка очищается. Дополнительные нюансы описаны в комментариях к коду. Никаких формульных вычислений и последующего промежуточного копирования "только значений" из результатов формул.

[vba]
Код
function onEdit(e) {
  
    // если находимся на нужном листе
    if(e.range.getSheet().getName() == 'Архив') {
        var rngNew = e.range;
    
        // если редактируем ячейку в нужной колонке "Хэштег новый"
        if(e.range.getSheet().getRange('E:E').getColumn() == rngNew.getColumn()) {
            var rngTag = rngNew.offset(0,-1);
      
            // считываем исходные значения ячеек в колонках "Хэштег" и "Хэштег новый"
            var valTag = rngTag.getValue();
            var valNew = rngNew.getValue();
      
            // в колонке "Хэштег новый" можно перечислить несколько значений через ;
            // - все они по очереди будут добавлены в колонку "Хэштег" с попутной
            // проверкой на уже присутствие в списке колонки "Хэштег"
            valNew.split(';').forEach(function(v) {
        
                // добавляем новое значение в список колонки "Хэштег" только в случае, если его там еще нет
                if(!~valTag.split(';').indexOf(v)) valTag += (valTag ? ';' : '') + v;
            });
      
            // обновляем значение "Хэштег" и стираем обработанное значение "Хэштег новый"
            rngTag.setValue(valTag);
            rngNew.clearContent();
        }    
    }  
}
[/vba]


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Суббота, 03.10.2020, 15:41
 
Ответить
СообщениеНабросал реализацию для встроенного простого триггера onEdit. Общее поведение такое: в ячейку колонки "Хэштег новый" вводим значение тэга и нажимаем Enter - тэг добавляется в список колонки "Хэштег" (в ячейку слева от редактируемой), а редактируемая ячейка очищается. Дополнительные нюансы описаны в комментариях к коду. Никаких формульных вычислений и последующего промежуточного копирования "только значений" из результатов формул.

[vba]
Код
function onEdit(e) {
  
    // если находимся на нужном листе
    if(e.range.getSheet().getName() == 'Архив') {
        var rngNew = e.range;
    
        // если редактируем ячейку в нужной колонке "Хэштег новый"
        if(e.range.getSheet().getRange('E:E').getColumn() == rngNew.getColumn()) {
            var rngTag = rngNew.offset(0,-1);
      
            // считываем исходные значения ячеек в колонках "Хэштег" и "Хэштег новый"
            var valTag = rngTag.getValue();
            var valNew = rngNew.getValue();
      
            // в колонке "Хэштег новый" можно перечислить несколько значений через ;
            // - все они по очереди будут добавлены в колонку "Хэштег" с попутной
            // проверкой на уже присутствие в списке колонки "Хэштег"
            valNew.split(';').forEach(function(v) {
        
                // добавляем новое значение в список колонки "Хэштег" только в случае, если его там еще нет
                if(!~valTag.split(';').indexOf(v)) valTag += (valTag ? ';' : '') + v;
            });
      
            // обновляем значение "Хэштег" и стираем обработанное значение "Хэштег новый"
            rngTag.setValue(valTag);
            rngNew.clearContent();
        }    
    }  
}
[/vba]

Автор - Gustav
Дата добавления - 03.10.2020 в 15:37
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!