首页 >>  正文

excel完整显示数字

来源:baiyundou.net   日期:2024-09-20

作者:bluebird118

       Excel中有一个几乎“万能”的函数组合,她就是Index+small+if+row组合,也称为“万金油的组合公式”。在日常工作中的应用非常广泛,今天我们就来了解这个万金油公式。

       很多朋友在Excel中用公式做查询的时候,都必然会遇到的一个麻烦问题:那就是一对多的查找问题。

       大多数朋友做查询都是从vlookup、index-match组合入门的,然而遇到一对多查询的时候,如果不加辅助列,往往会束手无策,今天我们要讨论的Index+small+if+row组合,就是专门解决一对多查询的一个通用公式。

       如果你能完全掌握这个思路的话,不夸张的说,在Excel中基本上就没有什么查询可以难住你了 。好了,言归正传,先看一个效果图,到底一对多查询是怎样的:

其中的公式是:=IFERROR(INDEX($A$1:$C$15,SMALL(IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3),ROW(B1)),COLUMN(B1)),"")

       不过要想彻底理解这个公式,还得有一些储备知识,例如简单的数组应用,index、small、if和row这几个函数的基本用法也是要了解的。在之前的文章中,index、if、row函数都有介绍过。在这里也提一下:

      首先,来看下index函数,这个函数基本功能是给出一个区域,然后根据对应的行列位置返回查找结果,index一共需要三个参数,第一个参数是数据范围,刚才说了,第三个参数是要查找的内容位于这个范围的第几列,本例中因为要对应查找三列数据,并且列的位置是对应的,所以用了column函数,如下图所示:三个红色的框,第一个是数据范围,第二个是第几行,第三个是第几列。

      其中最难理解的就是第2个参数。接下来我们来展开第2个参数。这个参数的作用是要查找的内容位于数据区域的第几行,如果是一对一的查找,我们可以指定行号或者用match函数来取得行号,但这里是一对多,例如部门是蜀汉的,分别对应了五个行号,如下图所示:

         重要提醒:对这五行数据在表格中的行号我特别标注出来了,分别是2、3、11、12和15,但请注意一点,如果index第一参数所给到的区域并不是从第一行开始的,那么得根据第一参数的区域内的行数。假如第一个参数是从第2行开始的话,那么对应的行数将减去1,分别是1、2、10、11、14。

          实际上,这五个数据在index给到的范围中,分别位于第2、3、11、12和15行,也就是我们希望得到的结果。

对于蜀汉

第一次出现时应该是index(数据范围,2,列位置);

第二次出现时应该是index(数据范围,3,列位置);

第三次出现时应该是index(数据范围,11,列位置);

第四次出现时应该是index(数据范围,12,列位置);

第五次出现时应该是index(数据范围,15,列位置);

。。。。。。

从上面来看,其中发生改变的就是第2个参数,行数在发生变化。

这就是一对多的核心,请务必理解。

       为了将这一想法变成结果,就出来了small+if+row,而这三个函数的组合实际上才是真正的万金油!

       接下来我们来看small函数

        其函数结构是SMALL(array,k),k 为返回的数据在数组或数据区域里的位置(从小到大),array查找的数据区域。也就是第k个最小的位置

        Small函数的作用是在给出的一组数据中挑出指定的第几个最小值,第一个参数是一组数字,第二个参数是一个数字。来我们来看下面这个动图

      图中有9个数,分别是1,2个2,  2个3,2个5,6、8.

      如果公式是=SMALL(A$1:A$9,1),则返回第一个最小值1

      如果公式是=SMALL(A$1:A$9,2),则返回第二个最小值2

      如果公式是=SMALL(A$1:A$9,3),则返回第三个最小值2

      如果公式是=SMALL(A$1:A$9,4),则返回第四个最小值3

      如果公式是=SMALL(A$1:A$9,5),则返回第五个最小值3

     如果公式是=SMALL(A$1:A$9,6),则返回第六个最小值5

     这也是上图中显示的结果。

      注意,这里的第二参数我们是手动输入的,因为把第一个公式下拉的话,第二参数1是不会变的,如果需要第二参数会自己变,就需要借助ROW函数!(row出现)看下图

     这是一个公式下拉的结果,好像是对A列进行了排序一样的效果,有点意思吧~~~

     说完row函数后。我们整体来看下这个公式中

      我们想要的是2、3、11、12和15行,要通过small得到这几个数字,有个思路就是:

部门是蜀汉的,按对应的行号标注;

      不是蜀汉的,都看作比数据中最大的行数要大的数(这个数其实是行号,因为一共15个数)。

而要实现这个目的,只能通过if实现。

(IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3),之前的公众号文章中也有介绍IF函数的,if函数的基本逻辑,想必大家也比较清楚,标黄色部分的意思是给定的区域数据,是否等于E2的值,如果是的话,将返回 ROW($B$1:$B$15),否则就返回10^3(这个数只要比数据的行数大即可,为了不超过数据区域最大的行数,这里往往是写的比较大的数据)

我们来看看IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3)这一段的运算结果吧:

     从上图中,你注意到2、3、11、、12和15了吗?

     到这里,small函数的这部分是不是明白了,也就是index函数的第2个参数。

     如果明白了,我们接着来看。将small函数代入到index函数中,就是我们看到的公式=INDEX($A$1:$C$15,SMALL(IF($A$1:$A$15=$E$2,ROW($B$1:$B$15),10^3),ROW(B1)),COLUMN(B1))

","force_purephv":"0","gnid":"926daa0787cf7bd87","img_data":[{"flag":2,"img":[{"desc":"","height":"500","s_url":"https://p0.ssl.img.360kuai.com/t015dd80a00627586b1_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t015dd80a00627586b1.gif","width":"730"},{"desc":"","height":"245","title":"","url":"https://p0.ssl.img.360kuai.com/t01fb7ab98f6b7148e1.jpg","width":"600"},{"desc":"","height":"326","title":"","url":"https://p0.ssl.img.360kuai.com/t019868e7b2be1db895.jpg","width":"554"},{"desc":"","height":"392","s_url":"https://p0.ssl.img.360kuai.com/t0156283e000c18c9b5_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t0156283e000c18c9b5.gif","width":"597"},{"desc":"","height":"392","s_url":"https://p0.ssl.img.360kuai.com/t011f42d758b419ec75_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t011f42d758b419ec75.gif","width":"597"},{"desc":"","height":"465","s_url":"https://p0.ssl.img.360kuai.com/t01043fee522baf4dc2_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t01043fee522baf4dc2.gif","width":"955"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1676106538000,"pure":"","rawurl":"http://zm.news.so.com/2b33d8cd734056be6290fbede0903cca","redirect":0,"rptid":"a7d0520163259336","s":"t","src":"什么值得买","tag":[{"clk":"kcareer_1:excel","k":"excel","u":""}],"title":"EXCEL技巧:万金油公式

黎雪群5157excel数字显示
臧舍世18118238637 ______ 一般来说,在Excel中: 系统默认单元格中输入数字格式为“常规”,能完全显示的有效数字位数是11位,当输入数字位数超过11位,则显示为科学记数.如987654321123456显示为9.87654E+14. 当数字格式设置为“数值”,能够完全显示的有效数字位数也只有15位,从第16位起显示为0.不可能从第17位开始显示为0的. 要完全显示输入的15位以上数字,单元格格式必须设置为“文本”或者先输入一个英文单引号后再输入数字. 希望对你有所帮助!

黎雪群5157excel中如何输入如0020能完整显示
臧舍世18118238637 ______ 两种方法: 1、输入之前把单元各设置为文本格式. 操作步骤:选中单元格(或区域)—右键—设置单元格格式—数字—文本—确定. 2、在输入数据的时候前面加上一撇.如:'0020.

黎雪群5157如何让excel表格中的数字正常显示 -
臧舍世18118238637 ______ 如果您遇到了身份证号码等一大长串数字被显示为 3.124Ex17 的情况,需要将该单元格设置为“文本”格式,然后重新输入身份证等号码.

黎雪群5157excel中数字无法正常显示怎么办 -
臧舍世18118238637 ______ 要输入15位以上的数字且能完全显示,有两种方法可以实现: 一是先输入一个英文单引号再输入数字. 二是选中数字区域,执行”格式/单元格/数字/分类/文本”后“确定”,再直接输入数字.你要先点文本,再输入数字;如果你已经输入数字,这时候再点文本也不能将0变成

黎雪群5157在excel表格中怎么输入过长的数字并且能完整的显示? -
臧舍世18118238637 ______ 缩小字体,

黎雪群5157excel 怎么显示数字 -
臧舍世18118238637 ______ 1:输入前加一个英文状态的 '08 就可以了2:或者 先修改单元格格式为 文本 然后输入 08

黎雪群5157excel 数字显示 -
臧舍世18118238637 ______ ####错误 此错误表示列不够宽,或者使用了负日期或时间. 当列宽不足以显示内容时,可以通过以下几种办法纠正: (1)调整列宽,或者直接双击列标题右侧的边界. (2)缩小内容以适应列宽. (3)更改单元格的数字格式,使数字适合现有单元格宽度.例如,可以减少小数点后的小数位数. 当日期和时间为负数时,可以通过以下几种办法纠正: (1)如果使用的是1900日期系统,那么日期和时间必须为正值. (2)如果对日期和时间进行减法运算,应确保建立的公式是正确的. (3)如果公式是正确的,但结果仍然是负值,可以通过将相应单元格的格式设置为非日期或非时间格式来显示该值

黎雪群5157excel如何才能正确显示数字 -
臧舍世18118238637 ______ 你输入的数字太长,EXCEL有限制不能超过一定的位数的.如果要输入长数字,就采用文本型输入,即在输数字时,先输个单引号,再输数字. 比如 '7550565605065045123 这样 或者先把要输入长数字的列或行,单元格格式设置成文本型,然后再输.这样就可以直接输长数字,也不用在前面加单引号.

黎雪群5157如何在Excel中快速将文本格式的数字变成数值格式 -
臧舍世18118238637 ______ 在Excel中,将文本格式的数字转换为数值格式可以通过以下方法进行:1. 使用数值转换函数:- 在一个空白单元格中输入一个"1".- 将这个单元格复制(Ctrl+C).- 选中需要转换的文本数字区域.- 右键点击选中区域,选择“特殊粘贴”(...

黎雪群5157excel中输入数字后会变成#是什么原因怎么解决? -
臧舍世18118238637 ______ excel中输入数字后会变成####的说明是单元格列宽太小时,写入了数字,日期或时间数值,再一种情况就是单元格内写入或公式得出负日期,负时间时也会显示#号.一、单元格宽度太小时,写入数字会产生#号,只需要加大列宽就可以;二、...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024