作者JieJuen (David)
看板Office
标题Re: 如何自动产生abcdef.........
时间Sat Nov 24 22:49:43 2007
※ 引述《b19111010 (生产中。)》之铭言:
: 我想到用excel来做到这个
: 但是在excel只能以拉方块的方法自动产生123456.....
: a
: 1 1」
: ↓
: a
: 1 1
: 2 2
: 3 3
: 4 4
: 5 5
: 6 6
: 但无法拉方块拉出abcde...来
: 如果在a1、a2、a3 输入a、b、c
: 拉方块只能拉出abcabcab..
: 怎样才能产生出abcdefg来
3678 m 411/02 JieJuen □ [算表] Excel较少被提及的函数与小技巧
这篇有提到,应用一下即可~
其实最快的方法是直接打
abcdefghijklmnopqrstuvwxyz
三五秒差不多吧(快一点也许2秒) 写函数不可能比的过|||
检查一下10秒20秒也可完成 XD
往下拉的话
=CHAR(64+ROW(A1))
往右拉
=CHAR(64+COLUMN(A1))
: 另问
: 怎样才可以在一行中列出有值的方块名称?
: 如
: a b c d e
: 1 我 18
: →a2=f(x)→a1、c1
: 再请大家指教orz
A1、C1是两个值
最好是放在两格吧~
{=IF(COUNTA(1:1)>=COLUMN(),CELL("address",OFFSET($A$1,,
SMALL(IF(ISBLANK(1:1),FALSE,COLUMN(1:1)),COLUMN())-1)),"")}
或
{=IF(COUNTA(1:1)>=COLUMN(),ADDRESS(1,SMALL(IF(ISBLANK(1:1),
FALSE,COLUMN(1:1)),COLUMN()),4),"")}
向右拉
为阵列公式,{}为公式打完後按Ctrl+Shift+Enter
(不知这句话能不能放在重要的地方~~)
其实通常是把资料摆直的
用筛选去掉没有值的格
算出地址不知有何用处?
不过用公式把资料集中有时也蛮有用的
这式子其实很简单,核心句子是
IF(ISBLANK(1:1),FALSE,COLUMN(1:1))
这样就会传回一个阵列,像是
{1,FALSE,3,FALSE,FALSE,...}
不是空白,就传回栏号
在结果区
A2要叫出有值中最左边的内容
所以就是叫回第一小的
B2要叫第二小的
要叫第几小的跟它是第几栏相同
所以就是要叫第COLUMN()位小的
用SMALL(array,COLUMN())来叫
主要工作就完成了,
因为得到位置了,
剩下只是转换成所要的东西,
可以转成位址,内容等等,
甚至转成ABCD都好,
如果都是第一列
{=CHAR(SMALL(...)+64)&1}
在AA之前和前面的式子长的都一样...
总之这部分有了之後
剩下的就可以自行发挥了
函数的参数定义,说明档有写很多~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.123.33.112
1F:推 b19111010:感谢j大详细的回答orz 11/25 17:37