轻舟上逆吧 关注:93贴子:4,381
  • 8回复贴,共1

【EXCEL】查找引用

只看楼主收藏回复

〖问题〗 
 A     B      C     D 
五一路   2.5     八一  
八一路   4      和平  
烂石街   6  
和平大道  8  

其中A列为街名,B列为长度。现在C列输入街名不全,要求在D列显示街的长度 

—————————————————————————————————————— 

〖解法〗 
=VLOOKUP("*"&C1&"*",A:B,2,) 



1楼2007-11-16 13:55回复
    如果一楼问题反过来变成如下,还是要求D列显示街的长度,如何解决? 
     A     B      C     D 
    五一    2.5    八一路 
    八一    4     和平大道 
    烂石    6 
    和平    8 

    —————————————————————————————————————— 

    〖解法〗 
    =LOOKUP(2,1/FIND(A$1:A$4,C1),B$1:B$4)


    2楼2007-11-16 13:56
    回复
        A   B  C   D  E  F  G   H 
       1 编号 数量    编号 数量   编号 数量 
       2 100  55     101      100  55 
       3 104  30     102  19   106 
       4 106        108      102  19 
       5 107  88     111  65   113 
       6 112        122  81   114 
       7 188  55     156  45 
       8 189  56     166  155 

      如上在A:B和D:E中各有一组数,我需要在G2中输入编号,H2中显示对应的结果,如果编号对应的数量没有则什么也不显示,如果输入的编号在这两组数中没有也什么也不显示。 

      —————————————————————————————————————— 

      〖做法〗 
      H2输入数组公式: 
      =INDIRECT(TEXT(MIN(IF(CHOOSE({1,2},A$1:A$8,D$1:D$8)=G2,ROW($1:$8)*1000+COLUMN(A:B)+{1,3},65536256)),"R0C000"),)&"" 

      或 
      =INDIRECT(TEXT(MIN(IF(G2=N(OFFSET($A$1,ROW($1:$8)-1,{0,3})),ROW($1:$8)*1000+COLUMN(A:B)+{1,3},65536256)),"R0C000"),) 

      向下复制。 
      此处主要介绍CHOOSE和OFFSET两函数怎样处理不相临列的数据


      3楼2007-11-16 13:56
      回复
        如何实现下列引用:
        sheet2!B1 引用 sheet1!A4 
        sheet2!B2 引用 sheet1!A5 
        sheet2!B3 引用 sheet1!A10 
        sheet2!B4 引用 sheet1!A11 
        sheet2!B5 引用 sheet1!A16 
        sheet2!B6 引用 sheet1!A17 

        就是每隔6行,连续取两行的数字。 

        ——————————————————————————————————————

        〖做法〗
        SHEET2的B1输入:
        =INDEX(sheet1!A:A,ROUND(ROW(A1)/2,)*6-1-MOD(ROW(A1),2))


        =INDEX(表1!A:A,ROW(A1)*3+1-MOD(ROW(A2),2)*2)


        IP属地:湖南4楼2007-11-16 14:14
        回复
          表1中A列是单位(50个),C列得分,B列是排名,若要在表2中能自动生成排名1-10名的单位及其相应得分,该如何设置函数? 

          ———————————————————————————————————————— 
          〖做法〗 
          假设没有重复分数,排名用数字表示。表2的A2输入: 
          =VLOOKUP(ROW(A1),IF({1,1,0},IF({1,0},表1!$B$2:$B$51,表1!$A$2:$A$51),表1!$C$2:$C$51),COLUMN(B1),) 

          或 
          =VLOOKUP(ROW(A1),CHOOSE({2,1,3},表1!$A$2:$A$51,表1!$B$2:$B$51,表1!$C$2:$C$51),COLUMN(B1),)

          向右再向下复制。


          IP属地:湖南7楼2007-11-27 14:09
          回复
            如何查找最后使用日期,得到C列结果?
             A   B        C
            编号  日期      结果 
            ab425 2007-1-3   ab443 2007-1-21 
            ab426 2007-1-4   ab466 2007-2-23 
            ab427 2007-1-5   ab477 2007-3-11 
            ab442 2007-1-20 
            ab443 2007-1-21 
            ab444 2007-2-1 
            ab445 2007-2-2 
            ab450 2007-2-7 
            ab451 2007-2-8 
            ab465 2007-2-22 
            ab466 2007-2-23 
            ab467 2007-3-1 
            ab468 2007-3-2 
            ab472 2007-3-6 
            ab473 2007-3-7 
            ab476 2007-3-10 
            ab477 2007-3-11 

            ————————————————————————————————————
            〖做法〗
            C2输入数组公式:
            =INDEX(A$2:A$100&" "&TEXT(B$2:B$100,"e-M-D;;"),MATCH(MAX(IF(MONTH(B$2:B$100)=ROW(A1),B$2:B$100)),B$2:B$100+0,))

            或普通公式:
            =IF(ROW(A1)>MONTH(MAX(B$2:B$100)),"",LOOKUP(2,1/(MONTH(B$2:B$100&"")=ROW(A1)),A$2:A$100&" "&TEXT(B$2:B$100,"e-m-d")))


            IP属地:湖南8楼2007-11-27 16:52
            回复
              表1如下: 
                 A   B    C   D    E 
               1 图号  名称  工序  工种  单价 
               2         1   甲1   5 
               3         2   甲2   8 
               4 A001  101   3   甲3  11 
               5         1   乙1   3 
               6         2   乙2   2 
               7         3   乙3   2 
               8 B002  102   4   乙4  2.3 
               9         1   丙1  1.2 
              10         2   丙2  11 
              11         3   丙3  13 
              12         4   丙4   2 
              13         5   丙5   3 
              14         6   丙6  4.3 
              15 C003  103   7   丙7  5.3 
              16         1   丁1  6.6 
              17         2   丁2 11.2 
              18         3   丁3   2 
              19 D004  104   4   丁4  0.3 

              表2如下: 
                 A   B    C   D    E 
               1 图号  名称  工序  工种  单价 
               2         1   丁1  6.6 
               3         2   丁2 11.2 
               4         3   丁3   2 
               5 D004  104   4   丁4  0.3 
               6         1   乙1   3 
               7         2   乙2   2 
               8         3   乙3   2 
               9 B002  102   4   乙4  2.3 
              10         1   甲1   5 
              11         2   甲2   8 
              12 A001  101   3   甲3  11 
              13         1   丙1  1.2 
              14         2   丙2  11 
              15         3   丙3  13 
              16         4   丙4   2 
              17         5   丙5   3 
              18         6   丙6  4.3 
              19 C003  103   7   丙7  5.3 

              表2已知A列图号和名称,顺序与表1不同,如何在表2生成C、D、E四列的结果,使之应表1的数据。 

              —————————————————————————————————————— 

              〖函数解法〗 
              表2的C2输入数组公式: 
              =INDEX(表1!C:C,MATCH(INDEX($A:$A,MIN(IF($A2:$A$100<>"",ROW(2:$100)))),表1!$A:$A,)-MATCH("*",$A2:$A$100,)+1)&""
              向下再向右复制 

              上面公式限于图号是文本格式,如果图号带有数字格式的,公式要变:
              =INDEX(表1!C:C,MATCH(INDEX($A:$A,MIN(IF($A2:$A$100<>"",ROW(2:$100)))),表1!$A:$A,)-MATCH("*",IF($A2:$A$100<>"",""&$A2:$A$100,0),)+1)


              =INDEX(表1!C:C,MATCH(INDEX($A:$A,MIN(IF($A2:$A$100<>"",ROW(2:$100)))),表1!$A:$A,)-MIN(IF($A2:$A$100<>"",ROW(2:$100)))+ROW(A2))

              也是数组公式


              IP属地:湖南11楼2007-11-29 11:57
              回复
                如果问题变成这样: 
                表1如下: 
                   A   B    C   D    E 
                 1 图号  名称  工序  工种  单价 
                 2 A001  101   1   甲1   5 
                 3         2   甲2   8 
                 4         3   甲3  11 
                 5 B002  102   1   乙1   3 
                 6         2   乙2   2 
                 7         3   乙3   2 
                 8         4   乙4  2.3 
                 9 C003  103   1   丙1  1.2 
                10         2   丙2  11 
                11         3   丙3  13 
                12         4   丙4   2 
                13         5   丙5   3 
                14         6   丙6  4.3 
                15         7   丙7  5.3 
                16 D004  104   1   丁1  6.6 
                17         2   丁2 11.2 
                18         3   丁3   2 
                19         4   丁4  0.3 

                表2如下: 
                   A   B    C   D    E 
                 1 图号  名称  工序  工种  单价 
                 2 D004  104   1   丁1  6.6 
                 3         2   丁2 11.2 
                 4         3   丁3   2 
                 5         4   丁4  0.3 
                 6 B002  102   1   乙1   3 
                 7         2   乙2   2 
                 8         3   乙3   2 
                 9         4   乙4  2.3 
                10 A001  101   1   甲1   5 
                11         2   甲2   8 
                12         3   甲3  11 
                13 C003  103   1   丙1  1.2 
                14         2   丙2  11 
                15         3   丙3  13 
                16         4   丙4   2 
                17         5   丙5   3 
                18         6   丙6  4.3 
                19         7   丙7  5.3 

                表2已知A列图号和名称,顺序与表1不同,如何在表2生成C、D、E四列的结果,使之对应表1的数据。 

                —————————————————————————————————————— 

                〖函数解法〗 
                表2的C2输入数组公式: 
                =INDEX(表1!C:C,MATCH(LOOKUP(2,1/($A$1:$A2<>""),$A$1:$A2),表1!$A:$A,)+ROW()-MATCH(2,1/($A$1:$A2<>""))) 
                向下再向右复制 

                或用普通公式: 
                =INDEX(表1!C:C,MATCH(LOOKUP(2,1/($A$1:$A2<>""),$A$1:$A2),表1!$A:$A,)+ROW()-LOOKUP(2,1/($A$1:$A2<>""),ROW($1:2)))


                IP属地:湖南13楼2007-11-29 12:01
                回复
                  如何判断单元格内字符串最后一个英文字母的位置?

                  〖做法〗
                  字符串在A1单元格内,B1数组公式:
                  =MATCH(1,N(INDIRECT(MID(A1,ROW(1:1024),1)&65536)))

                  =MATCH("*",T(INDIRECT(MID(A1,ROW(1:1024),1)&1)))

                  这都是MATCH函数的另类用法


                  IP属地:湖南14楼2007-12-05 11:02
                  回复