[心得] 不用excel直接整理全馆团G单

楼主: ichico (细雪。)   2016-04-30 10:09:15
有开过全馆团的主购,
应该都知道全馆团的单非常难整理。
有的主购会利用excel来另外整理G单,
不过因为我是用Mac,要开excel非常麻烦(Mac版Office很难用),
所以用了这个方法直接在G单上面整理。
有点复杂,但是熟练之后很好用喔!
我用我上一团的G单来做范例(团员个资皆已全部改成无意义资料)
G单范例:(登入Google帐号后可以储存为副本,就可以练习)
https://goo.gl/W4VnEV
1.表单设计
首先是品项的字段,
G单在这一栏要先设计成“多行格式”,格式为
缩网址;尺寸;颜色;数量
*分号一定要是半型的分号!
像是这样
http://i.imgur.com/2M7xEb4.png
团员格式填正确的话,内容应该会长得像这样
http://i.imgur.com/6JcEmCX.png
于是结团后你会收到这样的G单
http://i.imgur.com/3HCF3Xj.png
2.分割团员品项资料列:使用自订函数
这时候关键来了,我们不要用excel整理的方式,
就是要在G单里面自己写函数了
2.1 设定自订函数
请按下G单上的Tool->Script Editor
http://i.imgur.com/P6Tmm2q.png
然后会开启这样的一个视窗
http://i.imgur.com/X2tjHgp.png
接着,在code.gs的那栏里面(就是有写function myFunction())的地方
把内容清空,然后贴上以下的程式
function result(range,colnum) {
var output2 = [];
for(var i = 0, iLen = range.length; i < iLen; i++) {
var s = range[i][colnum].split("\n");
for(var j = 0, jLen = s.length; j < jLen; j++) {
var output1 = [];
for(var k = 0, kLen = range[0].length; k < kLen; k++) {
if(k == colnum) {
output1.push(s[j]);
} else {
output1.push(range[i][k]);
}
}
output2.push(output1);
}
}
return output2;
}
按下存盘,就可以把视窗关掉,回到G单
2.2使用自订函数
到G单里面新开一个工作表,在新的工作表里面填入这样的参数
=result('Form responses 1'!A1:H7,5)
'Form responses 1'!A1:H7:G单资料的范围,
注意一定要选到格子的范围,不能偷懒直接把A栏到H栏全选,程式会失效
5:“品项”栏在第几栏的数字再减1
以我的范例G单来说,品项是在第6栏,所以填入5
然后G单就变这样了,是不是很赏心悦目呀
http://i.imgur.com/ScMAwDh.png
3.分割团员品项资料栏
但是这样还是没有把资料分隔,
于是这边就是要说明为什么要请团员把网址尺寸颜色数量用分号分隔了
3.1 复制值
不过,因为刚刚用函数帮忙整理出来的资料,
其实都是函数帮你呈现的,
实际上字段里面都没有值,只有第一栏有一个公式而已,
这样我们没办法再继续整理下去,所以要再新增一个工作表,
把刚刚函式帮我们分割好的资料范围选取起来,
到新工作表上,按右键,选择paste special->paste values only
http://i.imgur.com/rii2moZ.png
这会帮我们函式整理好的值都贴到新工作表
3.2复制字段
G单里面本来就有一个默认的功能“分割字段”
在Data->Split text to columns
http://i.imgur.com/lk4q0YQ.png
选取好品项的那一栏,按下Split text to columns
G单会跳出一个小视窗问你要用什么来分割
http://i.imgur.com/YJKoMtF.png
选择“Semicolon”
如果团员填写的格式正确,G单就会自动帮你把字段都分割好了
http://i.imgur.com/gV5MZrm.png
前面说分号一定要是半型的原因,
就是因为G单只认识半型的符号,
可以参考我的范例G单,如果团员有自创格式(如用全型,少填资料)
那G单帮你分割的时候,资料就会跑掉,主购就要自己手动整理了...
(谜之音:其实删单最快...)
希望各位主购都能有愉快的团购!也谢谢各位辛苦的主购!

Links booklink

Contact Us: admin [ a t ] ucptt.com