首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel公式技巧69:查找第一个非空值

学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧63:查找最后一行》中,我们使用LOOKUP函数的公式获取最后一个值或该值所在的行号。...如果列表中的前面有空,那么如何获取第一个非空值呢? 如下图1所示的工作表,在数据列中存在一些空单元格,且在第一个值前面就存在空单元格。 ?...图1 输入数组公式: =INDEX(B3:B12,MATCH(FALSE,ISBLANK(B3:B12),0)) 可以获取数据列中第一个非空单元格的值。...函数判断区域内是否有空单元格,解析为: MATCH(FALSE, {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE},0) MATCH函数在数组中查找第一个...FALSE值的位置,即第一个非空单元格的位置,得到: 2 传递给INDEX函数,得到: =INDEX(B3:B12,2) 结果为: 完美Excel 如果要获取第一个数字,则可以使用数组公式: =INDEX

16.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel公式技巧93:查找某行中第一个非零值所在的列标题

    例如下图1所示,每行数据中非零值出现的位置不同,我们想知道非零值出现的单元格对应的列标题,即第3行中的数据值。 ?...图1 可以在单元格N4中输入下面的数组公式: =INDIRECT(ADDRESS(3,MATCH(TRUE,B4:M40,0)+1)) 然后向下拖拉复制至单元格N6,结果如下图2所示。 ?...图2 在公式中, MATCH(TRUE,B4:M40,0) 通过B4:M4与0值比较,得到一个TRUE/FALSE值的数组,其中第一个出现的TRUE值就是对应的非零值,MATCH函数返回其相对应的位置...MATCH函数的查找结果再加上1,是因为我们查找的单元格区域不是从列A开始,而是从列B开始的。...ADDRESS函数中的第一个参数值3代表标题行第3行,将3和MATCH函数返回的结果传递给ADDRESS函数返回非零值对应的标题行所在的单元格地址。

    9.8K30

    在Power Pivot中如何查找对应的值求得费用?

    在Excel中我们可以直接使用Vlookup或者Index和Match组合匹配到,然后下拉即可 VlookUp(A2,E1:F4,2,0)*RoundUp(B2,0) Index(F:F,Match(A2...但是这个条件会显得不一样,因为报价时间和发货时间是不等的,因为一般报价都是在发货前,所以在筛选的时候条件是报价时间在筛选的时候会出现多个内容的表。 ?...重量表'[发货时间] ) ) * RoundUp('重量表'[重量(kg)],0) 因为LastnonBlank此时返回的是[单位价格kg]中最大的一个值,...而不是最后的一个值。...这里我们需要查找的是2个值,一个是首重,一个是续重(单位价格),然后再去求运费。我们通过var变量来写,相对能够更清楚些。最终我们可以在添加列里面写上如下公式。

    4.3K30

    Excel公式技巧54: 在多个工作表中查找最大值最小值

    学习Excel技术,关注微信公众号: excelperfect 要在Excel工作表中获取最大值或最小值,我们马上就会想到使用MAX/MIN函数。...例如,下图1所示的工作表,使用公式: =MAX(A1:D4) 得到最大值18。 使用公式: =MIN(A1:D4) 得到最小值2。 ?...图1 然而,当遇到要在多个工作表中查找最大值或最小值时,该怎么做呢?例如,示例工作簿中有3个工作表:Sheet1、Sheet2和Sheet3,其数据如下图2至图4所示。 ? 图2 ? 图3 ?...图4 很显然,这些数据中最小值是工作表Sheet2中的1,最大值是工作表Sheet3中的150。 可以使用下面的公式来获取多个工作表中的最小值: =MIN(Sheet1:Sheet3!...A1:D4) 使用下面的公式来获取多个工作表中的最大值: =MAX(Sheet1:Sheet3!A1:D4) 结果如下图5所示。 ?

    11.5K10

    在排序数组中查找元素的第一个和最后一个位置

    前言: 这是一道给很经典的二分查找题目,并且该二分查找的算法不同于简单二分,是二分查找的进阶版本。 一、题目描述 34....在排序数组中查找元素的第一个和最后一个位置 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。...如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。...因为左端点是将数据分为小于和大于等于,所以right = mid,如果这里采用第二种求中点方法,就会造成死循环,right的值一直都没有变化! 上面就是讲解左端点的解法,右端点也是大同小异。...int right = nums.size() - 1; int mid = 0; int begin = 0; while(left 第一个小细节

    10310

    面试算法:在循环排序数组中快速查找第k小的值d

    解答这道题的关键是要找到数组中的最小值,由于最小值不一定在开头,如果它在数组中间的话,那么它一定具备这样的性质,假设第i个元素是最小值,那么有A[i-1]>A[i]值在数组中间某个位置,根据定义,最小值右边的元素都会小于等于A[n-1],而左边的元素都会大于A[n-1],根据这个性质,我们可以通过折半查找来获得最小值。...如果A[m] > A[n-1],那么我们可以确定最小值在m的右边,于是在m 和 end之间做折半查找。...如果A[m] 值,如果不是,那么最小值在m的左边,于是我们在begin 和 m 之间折半查找,如此我们可以快速定位最小值点。...这种查找方法使得我们能够在lg(n)时间内查找到最小值。 当找到最小值后,我们就很容易查找第k小的元素,如果k比最小值之后的元素个数小的,那么我们可以在从最小值开始的数组部分查找第k小的元素。

    3.2K10

    Excel公式技巧17: 使用VLOOKUP函数在多个工作表中查找相匹配的值(2)

    我们给出了基于在多个工作表给定列中匹配单个条件来返回值的解决方案。本文使用与之相同的示例,但是将匹配多个条件,并提供两个解决方案:一个是使用辅助列,另一个不使用辅助列。 下面是3个示例工作表: ?...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”且“Year”列为“2012”对应的Amount列中的值,如下图4所示的第7行和第11行。 ?...Sheets是定义的名称: 名称:Sheets 引用位置:={"Sheet1","Sheet2","Sheet3"} 这个公式的运行原理与上文相同,可参见《Excel公式技巧16:使用VLOOKUP函数在多个工作表中查找相匹配的值...C:C"}),2012)>0,0) 转换为: =MATCH(TRUE,{0,0,1}>0,0) 结果为: 3 表明在工作表列表的第3个工作表(即Sheet3)中进行查找。...D1:D10 传递到INDEX函数中作为其参数array的值: =INDEX(Sheet3!

    14.1K10

    Excel公式技巧16: 使用VLOOKUP函数在多个工作表中查找相匹配的值(1)

    在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...最简单的解决方案是在每个相关的工作表中使用辅助列,即首先将相关的单元格值连接并放置在辅助列中。然而,有时候我们可能不能在工作表中使用辅助列,特别是要求在被查找的表左侧插入列时。...图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”对应的Amount列中的值,如下图4所示。 ?...B:B"}),$A3) INDIRECT函数指令Excel将这个文本字符串数组中的元素转换为单元格引用,然后传递给COUNTIF函数,同时单元格A3中的值作为其条件参数,这样上述公式转换成: {0,1,3...因为我们想得到第一个匹配的结果,所以将该数组传递给MATCH函数: MATCH(TRUE,COUNTIF(INDIRECT("'"&Sheets&"'!

    25.5K21

    在排序数组中查找元素的第一个和最后一个位置

    在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。...nums 数组中二分查找 target; // 2、如果二分查找失败,则 binarySearch 返回 -1,表明 nums 中没有 target。...nums 数组中二分查找 target; # 2、如果二分查找失败,则 binarySearch 返回 -1,表明 nums 中没有 target。...nums 数组中二分查找得到第一个大于等于 target的下标(左边界)与第一个大于target的下标(右边界); # 2、如果左边界查找得到第一个大于等于 target的下标leftBorder; # 2、在 nums 数组中二分查找得到第一个大于等于 target+1的下标, 减1则得到rightBorder;

    4.7K20

    Python时间序列处理神器:Rolling 对象,3分钟入门 | 原创

    第三期:文末留言送书 Window Rolling 对象在处理时间序列的数据时,应用广泛,在Python中Pandas包实现了对这类数据的处理。...窗内要求有值(非NaN)的观测值个数. 如果是取值为offset 的window,min_periods默认为1,否则min_periods 默认值为窗口的宽度。...此时,整数列将不会出现在结果中,因为此时整数列未被作为rolling 窗口来计算。...[0, 1, 2, np.nan, 4]}) In [20]: df Out[20]: B 0 0.0 1 1.0 2 2.0 3 NaN 4 4.0 窗口宽口为2,第一个窗口的右端点与第一个元素对齐...设置窗内最小非NaN元素个数:min_periods,如果设置为1就意味着窗内如果至少1个为非NaN值,则取值不会为NaN. df.rolling(2, min_periods=1).sum()

    7.9K30

    图解pandas的窗口函数rolling

    公众号:尤而小屋作者:Peter编辑:Peter大家好,我是Peter~图解pandas的窗口函数rolling在我们处理数据,尤其是和时间相关的数据中,经常会听到移动窗口、滑动窗口或者移动平均、窗口大小等相关的概念...on:可选参数;对于dataframe而言,指定要计算滚动窗口的列,值可以是dataframe中的列名。.../window.htmlhttps://pandas.pydata.org/docs/reference/api/pandas.DataFrame.rolling.html使用一般在使用了移动窗口函数rolling...或者numpy中的np.nan空值与其他数值相乘或者相加都是nan:图片参数min_periods如何理解参数min_periods?...:right:窗口中的第一个数据点从计算中删除(excluded)left:窗口中的最后一个数据点从计算中删除both:不删除或者排除任何数据点neither:第一个和最后一个数据点从计算中删除图片取值

    3.1K30
    领券