地瓜君的excel小课堂——行函数与列函数

大家用Excel处理数据的时候经常会用到一些查找引用函数,今天地瓜君就来和大家一起学习一下查找引用函数中的行函数与列函数啦。

导航:1、row函数

2、rows函数

3、column函数

4、columns函数

我们重点介绍这4个函数里最常见也是非常实用的函数row函数,其他3个函数不是最常用所以就稍微简单的介绍下啦

一、row函数(返回一个引用的行号)

语法:=row(reference)

说明:如果省略reference(参数),则默认返回row函数所在单元格的行号。

参数reference不能同时引用多个区域

函数本身是很好理解的,比如说输入公式=row(C5) ,那么就是返回C5单元格所在的行,即第5行

如果这个参数是一个区域,那么返回引用区域中第一行的行号。比如说,输入公式=row(B2:B10),那么返回的是区域中第一行B2所在行的行号,即第2行。

听起来挺简单的,那我们来看看有哪些地方可以用到这个函数呢?

例1:自动生成顺序序号

大家在做编号的时候是不是直接输入1234数字往下拖的呢→_→

我们可以在A3中输入公式=row()-2,如下图

那为什么这个A3单元格在第3行却显示1呢?秘密就在我们的-2上啦!

上文函数说明中有提到,如果省略reference(参数),则默认返回row函数所在单元格的行号。那我们在A3单元格先输入=row(),返回的是A3单元格所在的行号3,那我们序号是从1开始的,如果我们要变成第1行,是不是要向上移2行呢?在Excel中向下移动单元格是+n,向上移动单元格就是-n,这就是-2的由来啦!

接下来做的事就是按住单元格右下角的小方块向下拖动就行啦!

例2:生成中文+数字编号

让我们根据上面的序号再添点文字,这就需要将上例的函数嵌套到text函数里啦

我们在B3单元格里输入公式=TEXT(ROW()-2,"第0名"),如下图

text函数是根据指定的格式将数字转化为文本,就是把数字序号1,指定一个格式"第0名",就完成啦!

难道row函数就用来做序号吗?当然不是啦╮(╯▽╰)╭让我们再高级一点

例3:在A1单元格里输入987654321,然后对这些数字进行相加求和。

这里涉及到数组公式,让我们先上公式然后慢慢讲解↓

=SUM(MID(A1,ROW(1:9),1)*1

我们来一部分一部分拆解。

mid函数大家应该挺熟悉,是"从一个文本字符串的指定位置开始,截取指定数目的字符"。

MID(text,start_num,num_chars)

=mid(需要截取的文本或其所在单元格,从第几位开始截取,截几位)

比如:我们取A1单元格的第1位数字=mid(A1,1,1)

取A1单元格的第2位数字=mid(A1,2,1)

取A1单元格的第3位数字=mid(A1,3,1)

以此类推

我们需要把A1单元格里的每位数字加起来,那么逻辑是:mid()+mid()+……分别提取9位数字再用sum函数相加,即9+8+7+6+5+4+3+2+1=45

那么我们如何把繁琐的公式简化呢?这就用到row函数的数组功能

row(1:9)在很多比较高端的函数里都有这样的写法,表示1-9行的行数,它是一组数,即1;2;3;4;5;6;7;8;9。用数组形式表示row(1:9)={1;2;3;4;5;6;7;8;9}

这里row(1:9)生成1~9的一组数字,它会分别作用于mid函数,达到分别截取各个位置数字的目的

然后是最后一项*1,因为mid函数是取出文本,而我们要求和数字,那么我们就把截取出的数据乘以1,转换成数字

最后,最重要的一点=====这个公式是个数组公式,所以输入完公式不能直接按回车,要按ctrl+shift+enter三键组合键完成输入!!!

例4:对矩阵数据的筛选(截取对角线)

看起来挺炫酷的0.0,Excel中很多函数都能做到,比如vlookup、index函数等等,我们今天用的是row函数来截取矩阵。

首先放上我们的数据源,我们准备了一个小一点的矩阵,方便大家观察:

这是一个长10宽10的正方形矩阵,所在的位置是“A2:J11”,那我们一步步来思考,是不是我们需要去除的单元格是B1,C1,C2,D1,D2,D3……就是我们下面红框标出的部分都是去除的↓

既然要用到row函数我们就要向行数上考虑,那来找一下规律,比如我们看这个矩阵可以很轻易的得到:A列的第2行及以下保留,B列的第3行及以下保留,C列的第4行及以下保留,……。那我们是不是可以得到要去除的单元格呢?

因为Excel里不接受≥的判断逻辑,我们需要整理一下,那么判断逻辑应该是:A列<第2行的去除,B列<第3行的去除,C列<第4行的去除,……以此类推,就是红框里的要去除的部分。那我们在Excel中怎么实现呢?就要用到if判断函数了。

IF(logical_test,value_if_true,value_if_false)

“如果A列的A2单元格<行数2,那么显示为空值(去除),否则返回A2单元格的值”;

“如果B列的B2单元格<行数3,那么显示为空值(去除),否则返回B2单元格的值”;

“如果C列的C2单元格<行数4,那么显示为空值(去除),否则返回C2单元格的值”;

……

好了逻辑不多说相信大家应该明白了,想必大家也看到了每一列都有一个可以参考的规则参数,那么我们在空白区域添加一行辅助行,帮助我们简化公式,如下图

接下来我们在L2单元格里用if函数描述我们的逻辑:

=IF(ROW(A2)<L$1,"",A2)(这里需要注意部分绝对引用)

接下来只要向下及向右拖拽公式,就能得到我们需要的对角矩阵啦

其实Excel的函数应用看似繁琐,但是只要我们发现其中的规则就迎刃而解了。

二、rows函数(用于返回数组或单元格区域中的行数。)

语法:=ROWS(array)

array:表示要返回行数的数组、数组公式或单元格引用。

注意:array是必需的,不能省略。

比如:=rows(A1:B5) 就是返回A1到B5区域有几行,结果为5

又比如:=rows({1,2,3;4,5,6}),这是一个两行三列的数组(逗号为列,分号为行),返回行数是2

rows函数我们还有另一种写法就是:=rows($1:1),下拉。返回的结果是从第1行(绝对引用)至当前行的行数(相对引用,可变),例如=rows($1:5),结果为5

rows函数和row函数的区别:

  1. 我们经常用ROW(1:1)解决生成自然数(序号)问题,有时也可以使用ROWS($A$1:A1)替代ROW(1:1)。
  2. ROWS($A$1:A1)返回的是单纯的数字,返回单值,而不是数组;而ROW(1:1)返回的是数组中的数字。
  3. 从运算速度上分析,ROWS($A$1:A1)的运算速度比ROW(1:1)快,是Rows()本身的函数性质有关。


接下来是列函数(列函数跟行函数差不多,只不过从行换成了列)

三、column函数(返回所选择的某一个单元格的列数。)

语法:=column (reference)

说明:如果省略reference(参照),则默认返回row函数所在单元格的列数。

参数reference不能同时引用多个区域

例如输入公式=column(E6),那么返回E6单元格所在列,返回5

例1:利用column函数嵌套vlookup函数

=VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

=vlookup(要查找的值,要查找的区域,返回数据在查找区域的第几列数,模糊匹配/精确匹配)

用vlookup函数得出的是这样的↓:

那我们用column嵌套进去就是这样 下:

四、columns函数(用于返回数组或单元格区域中的列数。)

语法:=columns(array)

array:表示要返回列数的数组、数组公式或单元格引用。

注意:array是必需的,不能省略。

columns函数和rows函数是类似的,所以就不介绍案例啦^_^

想必大家看了这么多也乏了,那我们下次再讲另外的查找引用函数啦!大家下次见╮(╯▽╰)╭

时间: 2024-12-27 08:14:22

地瓜君的excel小课堂——行函数与列函数的相关文章

用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法

用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count ActiveSheet.UsedRange.Columns.Count 缺点:有时可能会比实际数大一些,原因是如果你把最后几行(列)数据清除后(非整行或整列删除), 用这个命令仍返回未清除前的值.就是说现在虽然是空的,但是你曾经用过也算你的. 方法2: ActiveSheet.Range("A65535

[JAVA] 冻结Excel的第一行或第一列

可以按照如下设置创建冻结窗口. sheet.createFreezePane( 3, 2, 3, 2 ); 前两个参数是你要用来拆分的列数和行数.后两个参数是下面窗口的可见象限,其中第三个参数是右边区域可见的左边列数,第四个参数是下面区域可见的首行. // 冻结第一行 sheet.createFreezePane( 0, 1, 0, 1 ); // 冻结第一列 sheet.createFreezePane( 1, 0, 1, 0 );

Excel小tips - 如何实现多列成绩统一排名

本文参考:http://mp.weixin.qq.com/s/XR49hyG9Cods7rOcsM-tRg 如果有以下数据文件,需要进行成绩排名. 第一步:先在成绩列后边添加一列,用来显示名次.如下: 第二步:选中D3,输入公式.如下: 注意公式输入要准确.外层括号第一个参数C2,指定了当前需要进行排序显示名次的记录,第二个参数可以理解为参与排序的成员全体. 第三步:公式输入完成后,点击Enter键. 选中D2后,往下拉,会自动填充排序结果: 第四步:复制C2到C6的区域,然后到H2到H6的区域

Excel小技巧-你是否只知道表格按列排序?其实也可以按行排序!excel数据按行排序

Excel小技巧-你是否只知道表格按列排序?其实也可以按行排序!excel数据按行排序.系统默认情况下,数据都是按列进行排序的,可以通过简单的操作,让其进行按行进行排序. [解决方法,教程视频资料如下] 本教程视频资料来源:http://edu.51cto.com/course/15404.html 完整博客资料:http://blog.51cto.com/13172026/2292179 完整视频资料:http://edu.51cto.com/lecturer/13162026.html 原文

PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段. 与 fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组. fgetcsv() 出错时返回 FALSE,包括碰到文件结束时. 具体使用时封装函数如下: /** * 导入Excel数据表格 * @param string

Excel查找引用函数之offset函数

在Excel中,offset函数是一个引用函数,表示引用某一个单元格或者区域.其也是我们日常做一些组合函数中的一种,需要熟练掌握. 1.offset函数的含义 以指定的(单元格或相连单元格区域的引用)为参照系,通过给定偏移量得到新的引用. 返回的引用可以是一个单元格也可以是一个区域(可以指定行列数). 注意事项 第一,如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值 #REF!. 第二,如果省略 height 或 width,则假设其高度或宽度与 reference 相同. 第

小猪猪C++笔记基础篇(六)参数传递、函数重载、函数指针、调试帮助

小猪猪C++笔记基础篇(六) ————参数传递.函数重载.函数指针.调试帮助 关键词:参数传递.函数重载.函数指针.调试帮助 因为一些事情以及自己的懒惰,大概有一个星期没有继续读书了,已经不行了,赶紧写一篇压压惊.把我文章抱走的同学留个言嘛. 函数在变成里面是一个非常重要的组成部分,那么这一部分我们先简单的介绍一下参数是如何传递进入函数,函数如何返回结果的.然后我们再来看看函数重载是个什么样的机制,最后在介绍一下所谓的函数指针到底是个什么东西.那么直接开始正题吧: 一.函数的参数传递 我们知道函

POI精确设置Excel的行高和列宽

EXCEL的行高度和列宽度单位是不一样的. 1,EXCEL列高度的单位是磅,Apache POI的行高度单位是缇(twip): 1英寸=72磅=25.4毫米=1440缇1磅=0.353毫米=20缇 POI中的行高=Excel的行高度*20 Excel的行高度=POI中的行高/20 这里顺便把像素的换行方法说一下: DPI = 1英寸内可显示的像素点个数.通常电脑屏幕是96DPI, IPhone4s的屏幕是326DPI, 普通激光黑白打印机是400DPI 要计算POI行高或者Excel的行高,就先

Linux小课堂开课了(1)

前言:突然奇思妙想,何不在学习Linux的道路上一边学习一边总结,这样应该学得更加深刻.不敢造次,所以起名叫Linux小课堂,零零散散地总结,也是一个动力.我是系统学习,但不保证小课堂是系统总结输出,纯属小打小闹.如需系统学习,请百度搜索Linux,学习Linux的方式真所谓条条大路通罗马.开始总结,不定期更新.1, 一个命令行是基于文本的界面,可用于向计算机系统输入指令.Linux命令行由一个程序提供,它称为shell.如图是超级用户root运行shell的界面使用bash shell执行命令