Excel 將A表的基礎數據拼接到B表中來-三種方法: ctrl+回車, VLOOKUP()函數,宏

A表  基礎信息表html

  

 

B表 業務信息表編輯器

  

 

將a表中的基礎數據 拼接到B表的後面,函數

  

 

應用場景是:

B表不少數據,很繁亂,名字不必定全,工具

A表也是比較多的行,B表亂:好比有8行有李晨的,卻只有3行是范仲淹的,如今須要快速拼接:開發工具

 方法一:不用函數,利用ctrl+Enter 

xls表格 ctrl+D 和ctrl+Enter區別 --快速填充相同數據,同時填充多個不一樣數據 - 海藍steven - 博客園
https://www.cnblogs.com/rogge7/p/8075115.html  --利用這博文介紹spa

兩個表的數據合併放在一個表3d

 B 列當作姓名,C D 列當作B表的學科和分數。E F G列 當作A基礎信息列。excel

A表複製過來的時候,要空出列,以便後面的數據能夠接上B表的後面。【總的任務就是快速自動填 EFG列】code

還有一點,兩個表前面要加上一列 標誌列。如上圖A表的左邊加上A標誌服,B表的左邊隨便加點標誌。視頻

對B列進行排序,發現要向上填充數據,不太符合本實踐要求。

  

改進:全選全部列,自定義排序:對E列作次排序

  

變成
  

 按照博文說的,選擇列,Ctrl+G 定位 選擇 空值  在編輯欄中輸入=上一個格子的地址,( 是上一個值的格子) 再按CTRL+Enter完成填充

這樣就會自動往下填充了,整列完成,瞬間完成(個人幾萬行數據)。同時對多列是否能夠操做,尚未試(後來試了,不能夠)。

 

最後一步:把基礎A表的數據刪除:先將整個表的複製,到另外一個新表格 粘貼爲數值(不要帶格式的)

對錶的A列排序,把A列中有A字符的行所有刪除(這是A表的基礎數據),完成。

 方法二:用函數 VLOOKUP

複製excel指定內容到另外一個表格     -- 開工前先看此例子
https://www.kafan.cn/A/enoj498kvw.html

  

 

VLOOKUP(參數1,參數2,參數3,參數4)

 =VLOOKUP(要查找的值、要在其中查找值的區域、區域中包含返回值的列號、精確匹配或近似匹配 – 指定爲 0/FALSE 或 1/TRUE)。
參數2中數據區域,區域的第一列就是要查找的列,區域後面列是要返回的列,

 在D1中輸入公式回車,快速下拉填完整列的公式

發現有些數據找不到,明明在數據表 裏面的。【奇怪的是,同一臺車,有些行能夠找到,有些行找不到,有空格?】

下面網上的說法:

緣由有如下幾個方面:
1.字符串後面有空格。
2.數據類型不匹配。雖然有些數字看起來都是同樣的,但有的是數值型的,有的是文本型的,這兩者是匹配不到一塊兒的。
3.有重複的數據。VLOOKUP只能查找到第一個數據,後面的重複數據是查找不到的。

但我數據沒有空格,數值類型應該都是同樣的,我以爲第3點 網友說得不對。

我仔細分析,發現我寫的是: =VLOOKUP(A1,車輛列表基礎信息!B2:E1575,2,0)  猜測是區域數據,沒有絕對引用形成的。

點擊參數2 ,按F4 絕對引用。變成:=VLOOKUP(A1,車輛列表基礎信息!$B$2:$E$1575,2,0)  問題解決。

-- 後來發現,函數用第一種寫法,的第四個參數 把0改爲1 模糊查找,也能夠找出值來。

 

--拓展:VLOOKUP 是縱向查找, HLOOKUP 橫行查找。 微軟的excel ,點擊函數幫助的時候,會跳轉到此函數的中文教學視頻。而wps沒有教學視頻。

方法三:利用宏,

   wps須要安裝 vbs模塊, 微軟自帶的宏默認是禁止的,須要啓動。

本人網上下載的是 vba提取自WPS2012專業加強版,解壓,點擊 vba6chs.msi 安裝,重啓wps,打開有宏的xls,啓用宏。

下載地址:http://dl.pconline.com.cn/download/470217.html

  

開發工具--查看代碼-- 會跳轉到VB編輯器

 準備數據:本人將A表複製在B表的 尾端,以下截圖

  

1到2106是業務表的, 2110到 3683行是基礎信息表的, (車牌字段惟一),寫了個宏,超級簡單就是兩個for循環。代碼以下:

 意思:根據業務表的車牌去 基礎數據表中找到這個車牌所在行而且把後面的的基礎數據複製回來放到業務表對應車牌的後面。

Sub Macro1()
'
' Macro1 Macro
' 宏由 CLP 錄製,時間: 2018/08/22
'
    Dim x As Integer
    Dim Y As Integer
    For x = 1 To 2106 Step 1       '外層循環 循環B表全部車牌號碼
      For Y = 2110 To 3683 Step 1    '循環A表全部車牌號碼
        If Range("a" & x).Value = Range("a" & Y).Value Then  ' B表查詢A表的值
          Range("B" & Y & ":" & "D" & Y).Select    '選擇區域
          Selection.Copy     '複製
          Range("D" & x).Select   ' 選擇
          ActiveSheet.Paste  '粘貼
          Exit For   '退出內層循環
        End If
       Next Y
    Next x

End Sub

   

 

執行一下 ,蠻久的(1分多鐘),完成了。

 

 

 ==待續...

相關文章
相關標籤/搜索