ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 EH云课堂直播课程免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 22079|回复: 44

[函数应用系列讨论14] 关于N()/T()函数的返回值问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-1-9 22:54 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:N
之前我曾请教一个问题,问的是怎样用indirect返回数组区域并用sum求和,gvntw版主给出型如{=SUM(N(INDIRECT(A6:C6&$A$5:$C$5)))}的公式,当问及为何用N时,答曰“用N函数转换为二维数组”。(详见下:http://club.excelhome.net/dispbbs.asp?BoardID=1&ID=144778&replyID=&skin=0) 但我若直接用型如{=N(a1:c1)}这样的公式时,却无法返回数组,我实在不解N函数到底在怎样的情况下能返回数组?当中的机制是怎样的? 扩大来说,怎样可知一个函数能否返回数组?或者当中有何关键所在?希望得到各位高人指点,诚谢!
函数用法讨论系列中,提出问题和参与讨论都可视情况加分。
[此贴子已经被apolloh于2006-1-10 8:31:37编辑过]

TA的精华主题

TA的得分主题

发表于 2006-1-9 23:13 | 显示全部楼层

帮你顶一下

感觉N的作用恰恰不是为了返回数组而是限制数组的维数,上例是不让indirect返回三维数组。

还是让专家解答吧。

TA的精华主题

TA的得分主题

发表于 2006-1-10 00:34 | 显示全部楼层

N()返回一个区域的第一个元素,结果仍然是数组。

a1:c1是一个区域,所以n(a1:c1)只返回一个数。

对于四维以内的多维引用是由多个虚拟区域组成的,有多少个区域n()就返回多少的数字结果。

所以N可以将三维引用转换成一维数组,将四维引用转换为二维数组。

TA的精华主题

TA的得分主题

发表于 2006-1-10 00:41 | 显示全部楼层
我得好好琢磨琢磨这句话“所以N可以将三维引用转换成一维数组,将四维引用转换为二维数组。”,特别是“将四维引用转换为二维数组。”

TA的精华主题

TA的得分主题

发表于 2006-1-10 08:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-1-10 09:30 | 显示全部楼层

关于N()/T()返回值问题的举例说明

lVaJP2YT.rar (20.22 KB, 下载次数: 1433)

RCrG0vwB.rar

20.21 KB, 下载次数: 939

[函数应用系列讨论14] 关于N()/T()函数的返回值问题

HATS6AES.rar

20.2 KB, 下载次数: 820

关于N()/T()返回值问题的举例说明

评分

参与人数 1鲜花 +2 收起 理由
hope9966 + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

发表于 2006-1-10 10:18 | 显示全部楼层
以下是引用[I]apolloh[/I]在2006-1-10 9:30:23的发言:[BR]
学习中,谢谢!

TA的精华主题

TA的得分主题

发表于 2006-1-10 10:29 | 显示全部楼层

疑问:

 跟我刚刚在 GVNTW版主关于countif()的多维应用中提到的一样,offset()产生的三维引用为什么去掉绝对引用也可以,即把N(OFFSET($B$23:$E$23,ROW($B$23:$E$26)-ROW($B$23:$E$23),,,))改为N(OFFSET(B23:E23,ROW(B23:E26)-ROW(B23:E23),,,)),结果不变,请问这是为什么?请apolloh版主触答。

TA的精华主题

TA的得分主题

发表于 2006-1-10 10:36 | 显示全部楼层
因为在多单元格形式输入固定的单元格引用,每个单元格的公式都是一样的,不会发生相对引用。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-1-10 12:51 | 显示全部楼层
感谢版主大人关注~[em04]
以下是引用[I]apolloh[/I]在2006-1-10 0:34:09的发言:

N()返回一个区域的第一个元素,结果仍然是数组。

a1:c1是一个区域,所以n(a1:c1)只返回一个数。

对于四维以内的多维引用是由多个虚拟区域组成的,有多少个区域n()就返回多少的数字结果。

所以N可以将三维引用转换成一维数组,将四维引用转换为二维数组。

这个我基本能看懂,但是我还是有很多不解之处: 版主大人是怎么知道N只返回的一个区域的第一个元素?那么SUM为什么就不是把各个不同区域的第一个元素相加?SUM是怎么处理二维、三维的情况的?扩大说各函数是返回数组还是返回第一个元素,怎么处理二维三维的问题我们怎么可以得知? 好像我以为我楼顶的问题中indirect会返回一维数组结果却返回的是三维数组,我怎么知道一个函数到底会返回第一个元素,还是一维数组,还是多维数组?
[此贴子已经被作者于2006-1-10 12:54:47编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,每天学会一个新技能

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2019-10-21 22:50 , Processed in 0.083778 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

沪公网安备 31011702000001号 沪ICP备11019229号

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师

快速回复 返回顶部 返回列表