问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用EXCEL在二维表查找数据-Excel教程-Excel学习网

发布网友 发布时间:2022-04-22 03:23

我来回答

1个回答

热心网友 时间:2023-10-02 23:56

此图说明了一个朋友今天提出的一个关于Excel的大问题。

他最初的问题是:“在此表中,如何返回出现最小值的日期?”

但是,更笼统地说,他在问如何在两个维度上查找值。与大多数Excel查找(仅限于单个行或列)相比,这是一个不同的挑战。

为了使解释尽可能简单,我开始 定义四个范围名称:

FindVal= Sheet1!$ A $ 10

月数= Sheet1!$ B $ 2:$ I $ 2

年份= Sheet1!$ A $ 3:$ A $ 8

数据= Sheet1!$ B $ 3:$ I $ 8

然后我开始建立公式。

SUMPRODUCT函数是关键,因为它是唯一可以像数组公式一样工作而无需输入数组的函数。例如,此公式返回数据范围内的任何值的值等于FindVal的次数:

= SUMPRODUCT((Data = FindVal)* 1)

(Data = FindVal)件返回TRUE和FALSE值的数组。我们需要将该数组乘以1才能将数组转换为1和0值的值,这些值可以计数。

假设现在只有一个值与FindVal匹配,我们可以使用以下公式找到它所在的行:

= SUMPRODUCT(ROW(数据)*(数据= FindVal))

之所以可行,是因为(Data = FindVal)返回的数组只有一个TRUE值。当我们将其行号乘以TRUE值,然后对结果求和时,公式将返回该单个行号。

但是,就像Excel的MATCH函数一样,我们不需要实际的行号,我们希望数据范围内的索引号……这也是Years范围的索引号。因此,我们减去数据范围顶行的行号,然后添加1:

= SUMPRODUCT(ROW(数据)*(Data = FindVal))-ROW(数据)+1

该公式在某种程度上等效于MATCH函数。但是,如果数据范围具有两个与FindVal匹配的值,则此公式将返回错误的结果。因此,我们需要添加一个测试以确保只有一个这样的值存在:

= IF(SUMPRODUCT((Data = FindVal)* 1)<> 1,NA(),SUMPRODUCT(ROW(Data)*(Data = FindVal))-ROW(Data)+1)

最后,我们可以将此值传递给INDEX函数以返回所需的年份值:

A11:= INDEX(年份,IF(SUMPRODUCT((Data = FindVal)* 1)<> 1,NA(),SUMPRODUCT(ROW(Data)*(Data = FindVal))-ROW(Data)+1))

返回月份值的版本非常相似:

A12:= INDEX(月,IF(SUMPRODUCT((Data = FindVal)* 1)<> 1,NA(),SUMPRODUCT(COLUMN(Data)*(Data = FindVal))-COLUMN(Data)+1))

最后,要回答我朋友的原始问题,以下是返回日期序列号的公式,可以在其中找到单元格A10中的值:

A13:= DATEVALUE(A12&“-”&A11)

我的朋友将在单元格A10中输入= MIN(Data),但是您可以输入所需的任何查找值。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...的士的.已经好几年了.10年多了好像.想问下.会不会报废? 98年上牌的普桑 现在还能过户吗?手续齐全 年审到2012年9月 宿迁牌照能... 一个圆柱形容器(如图)里面的水深8厘米,把一个底面半径6厘米,高4厘米... ...水的高度是8cm,把一个铁制实心圆锥直立在容器以后 一首轻快地日文歌歌词有a xi da no u mei da DNF第三季70级暴风眼纯刷图加点 dnf暴风眼技能末日暴风需要什么前置技能 70暴风眼加点(暴力点的)(复制狗衮) dnf女柔道纯杀图,觉醒满好还是1好?高手来。。。 榆林神东还招聘员工吗 医学上GCS评分是什么 评分标准是什么 怎样用LINQ查询二维字符串数组 好看的丧尸美剧有哪些值得推荐? cisco 6509 上面怎么根据IP地址来限制流量 怎样对昏迷进行分类? 哪位大神有鬼玩人之艾什斗鬼第一季高清百度云资源 在CISCO 2层交换机 以2960为例 对目标接口做流量控... 格拉斯评分是多少? 如何在二维数组中查找指定的数,C语言 cisco交换机的qos问题 鬼玩人之艾什斗鬼的剧情简介 格拉斯哥昏迷分级评分标准是什么? c语言查找二维数组的鞍点 新生求助大佬 思科nexus 5000怎么在接口下调用route-map 鬼玩人电视剧演员表 临床意识分级是什么? oracle查询二维报表 鬼玩人之阿什斗厉鬼共出了几部电影 思科3550三层交换机 可以做流量限制吗 qos 怎么做的 格拉斯哥昏迷分级评分 chomp是什么意思及反义词 格拉斯哥评分是多少? 跪求百度云《鬼玩人阿什斗鬼》第2季全集,收费的请... policy-map与class-map的区别? EXCEL二维数组查询功能 perl程序里把chomp()变成s/[\r\n]//g;是什么意思? 求鬼玩人2高清百度云资源 perl里面这个是什么意思 next if /^#/; chomp; #不... 格拉斯评分是? 请教大家帮忙写一个SQL查询得到二维数据 鬼玩人之阿什斗鬼第四季为什么没了 gcs评分标准及意义是什么? 什么是文件句柄 求鬼玩人高清百度云资源 健康云怎么查孩子二维码 格拉斯昏迷评分表 请问下while()里面的&lt;&gt;是什么意思啊 昏迷的概念昏迷的分类 什么是giasgow昏迷评分 求生之路2成就&quot;于嘉年华战役中拯救gnome chompsk&quot;...