楼主 lrlxxqxa |
Q:如何利用indirect结合R1C1格式取得需要的引用? A:C7输入
INDIRECT(ref_text,a1),如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用(有逗号,同FALSE,是R1C1-样式的引用); 由于分表答案数据是要隔行选取,所以要用2*INT 如果写成=INDIRECT($B7&"!R"&4+2*INT((ROW(A1)-1)/7)&"C"&COLUMN(),)更容易理解一些,在此基础上省略COLUMN(),减少一个易失性函数,提高运算效率。 灰色处有错,如2楼草版更正。 药房问卷调查汇总.rar |
2楼 gouweicao78 |
首先,INDIRECT函数是易失性函数,COLUMN()不是。 其次,易失性函数所带来的“效率”问题是因为:它将引起与它有关的单元格每每自动重新计算。因此,一个公式里面,有一个易失性函数与有多个易失性函数,在这方面的影响上是相同的,区别仅在公式本身中是否存在运算量的多寡差异。 |
3楼 lrlxxqxa |
感谢指正!原来我在这里一直存在误解,今天得到纠正了,开心 |
4楼 lrlxxqxa |
易失性函数:RAND、AREAS、OFFSET、CELL、INDIRECT、ROWS、COLUMNS、NOW、TODAY 、RANDBETWEEN 除了易失函数,还有一种是“易失性操作”:如自动筛选、单击或双击改变行高、列宽(不含手工改变)等,他们和易失函数一样,也会引发工作表的全部重算。 灰色的函数虽然是微软公布的易失性函数,但实际测试中并未引发重算 |
5楼 gouweicao78 |
ROWS、COLUMNS不是易失性函数。 为什么我没有修改内容关闭表格也会提示保存呢 http://www.exceltip.net/thread-284-1-1.html |
6楼 lrlxxqxa |
果然如您所言,rows( ),columns( ),areas( ), weeknum( ),在微软文件中将其列为易失函数,但在测试中未表现出易失性; 其他易失性函数每F9刷新一次计算次数增加=打开的工作簿中含有的易失性函数个数 现在更开心了,呵呵! |
7楼 mjgdxx |
其他易失性函数每F9刷新一次计算次数增加=打开的工作簿中含有的易失性函数个数 这点你不说我还不知道,学习了。 |
8楼 xing_xingyou |
我還不知道,學習了 |