1. 如何在Power Query中獲取數據——表格篇(3)
樣例表格:
之前講了從表頭獲取,那對應的就有從表尾獲取。
(一)從表尾開始提取
1. 獲取表的最後一條記錄
Table.Last (table as table , optional default as any )as any
第1參數是需要操作的表;第2參數是在空表的情況下的賦值;返回的結果如果是非空表則是最後一條記錄,格式是Record格式,如果是空表則是賦值的格式。
例:
Table.Last(數據)=[姓名="王五",成績=80,學科="英語"]
Table.Last(Table.FromRecords({}),{"空表"})={"空表"}
解釋:空表代表沒有記錄的表,但是可以有標題欄位名。Table.FromRecords({})生成的是一個空表,例如Table.FromList({}),Table.FromColumns({}),Table.FromRows({})也是一樣的,生成的是不具備標題欄位的空表;Table.FromValue({})生成的就是一個標題欄位為Value的空表;因為是空表所以返回指定值。
2. 獲取指定條件表的最後幾條記錄
Table.LastN (table as table , countOrCondition as any ) as table
第1參數為操作的表,第2參數為數字或者條件,返回的是一個表的格式。如第2參數是條件,則從尾開始匹配,返回滿足的行,直到不滿足為止。
例:
<> Table.Last(數據)
解釋:因為Table.LastN返回的是table格式,而Table.Last返回的是record格式,所以不相等。
解釋:因為成績是降序排列,所以返回的結果是直到不滿足條件結束。
Table.LastN(數據,each_[成績]>90)= #table({},{})
解釋:因為最後一條記錄是80,不滿足第2參數的條件,所以沒有滿足條件的數據,返回的結果就是一個空表。
解釋:查找姓名包含"五"的記錄,並返回形成表格。因為第一條記錄是的姓名是王五,滿足條件,第二條記錄是李四不滿足條件結束,所以只返回最後一條記錄並形成表格。
2. 怎樣在excel表格中提取我想要的數據
怎樣在excel表格中提取我想要的數據
怎樣在excel表格中提取我想要的數據,在辦公的日常應用中,從表格中提取想要的數據還是經常會用到的。以下分享怎樣在excel表格中提取我想要的數據,一起來看看吧。
首先打開電腦,下載安裝辦公軟體,這里以Excel2013為例,如圖
安裝完成後我們雙擊圖標打開,在其左側點擊「新建」
接著選擇表格的圖標,點擊下方的「創建新建空白表格」
在空白的表格中輸入一些自己想要的數據,如圖
接著選中需要找到的數據,在「開始」選項卡下找到「條件格式」,如圖
然後點開「條件格式」,選擇「突出顯示單元格規則」下的「小於」,如圖
然後在「小於」窗口,填入我們需要篩選的條件,再選擇顏色,點擊確定,如圖
回到表格,我們看到我們需要的數據一目瞭然,如圖
一、公式提取法
EXCEL中,提取數據的常用函數有3個,Left、Right、Mid函數,函數解析和語法格式等如下:
二、快速填充法
它是EXCEL2013以上版本的中一個新功能。運用快速填充時,首先直接輸入一組到三組數據,讓Excel自動識別你的意圖,再進行快速填充。運用快速填充功能,不僅能單元格內提取不規則的姓名,還可以提取數字、英文等。快速填充的方式有3種:
1、單擊「數據」選項卡 > 在「數據工具」組中 > 單擊「快速填充」;
2、用快捷鍵Ctrl+E;
3、選中示例單元格,拖動填充柄往下填充,然後在「自動填充」選項中選擇「快速填充」;
三、用自定義函數myget
函數有兩參數,=myget(①從哪提取,②提取什麼)
=myget(字元串,0) 取出數字
=myget(字元串,1) 取出中文字元
=myget(字元串,2) 取出英文字母
=myget(字元串,3) 取出特殊字元
=myget(字元串,4) 取出第一個數字的位置
=myget(字元串,5) 取出最後一個數字的位置
如果只要提取數字,只要將第2個參數設為0即可
方法步驟:
首先導入自定義函數的模板文件,點開發工具→VBA或都按ALT+F11 調出VBA 編輯器 →在工程窗口右鍵選擇【導入文件】→選擇VBA 模塊文件(提取中文、英文和數字自定義函數myget.bas)→關閉VBA 編輯器。然後再輸入公式即可。
動態獲取工作表名稱
打開一個Excel工作薄,在某個單元格里輸入公式:
=CELL(「filename」,A1)
會返回一串字元串,比如D:讀書[me.xlsx]總表。
其中,「讀書」是文件夾的名稱;「[me.xlsx]」是工作薄的名稱和類型;「總表」是A1單元格所在工作表的名稱。
如果我們要單獨獲取工作表的名稱,比如此處的「總表」,可以使用文本函數對CELL函數的結果進行加工處理。
=MID(CELL(「filename」,A1),FIND(「]」,CELL(「filename」,A1))+1,99)
FIND函數查詢字元」]」在字元串中的位置並加1,(為啥加1?你猜唄),MID函數在此結果上開始取數,取99個數,99是一個很大的數,此處也可以是66、88等,只要超過了預想字元串的長度,改成250或者25也是可以的。
好啦,這是我們今天分享的第一個知識,用CELL函數動態獲取工作表名稱。
有小夥伴說了,工作表名就在那,我一眼就看的到,你用函數算計它干哈子嘛?做人可不要太宮心計……這當然是有意義的。
批量拆分數據
有這么一份表格,是某公司的人員信息表,現要根據性別,把相關人員的信息批量填充到分表裡,比如女生填寫到女生表,男生填寫到男生表等。
而當總表裡的信息發生改變或者有新增數據時,分表裡的數據也發生相應的改變。
接下來就看看具體的步驟:
1、選取要拆分數據的工作表
2、單擊位於左側的【男生】工作表標簽,按住Shift鍵,再單擊最右側的【人妖】工作表,此時除【總表】外的分表會成為一個【工作組】,每個分表均處於選中狀態。
3、輸入公式,拆分數據
在成組工作表中的A2單元格,輸入下方的數組公式,按組合鍵,向下向右復制填充到A2:B50區域。
=INDEX(總表!B:B,SMALL(IF(總表!$C$2:$C$13=MID(CELL(「filename」,A1),
FIND(「]」,CELL(「filename」,A1))+1,99),
ROW($2:$13),4^8),ROW(A1)))&」」
太陽照,長城長——嗨,那誰,你看,這個長長的老太太裹腳布函數又來了,又是INDEX+SMALL+IF的函數套路。
之前咱可就說過,這是一個萬金油套路,是玩函數必會的套路之一,也不知道你後來學了沒?你不說話不點贊,俺就當你學了哈。
還是簡單說下這個公式的意思。
MID(CELL(「filename」,A1),FIND(「]」,CELL(「filename」,A1))+1,99)
用於獲取A1單元格所在工作表的表名。
需要說明的是,此處CELL(「filename」,A1)第二參數A1是不能省略的`,倘若省略,獲取的將是最後更改單元格所在工作表的表名,會導致公式得出錯誤結果。
IF函數判斷總表C2:C13單元格區域的值是否和相應工作表表名相等,如果相等,則返回C列值對應的行號,否則返回4^8,結果得到一個內存數組。
SMALL函數對IF函數的結果進行從小到大取數,隨著公式的向下填充,依次提取第1、2、3、4……N個最小值。由此依次得到符合條件——性別和公式所在工作表的名稱一致的單元格的行號。
INDEX函數根據SMALL函數返回的索引值,得出結果。
當SMALL函數所得到的結果為4^8,即65536時,意味著符合條件的行號已經被取之殆盡了。此時INDEX函數將返回B65536單元格的值,通常來說,這么大行號的單元格是空白單元格,使用&「」的方式,規避空白單元格返回零值的問題,使之返回假空。
4、取消組合工作表狀態
公式填寫完成後,單擊不屬於成組工作表的【總表】標簽,Excel會自動取消組合工作表狀態。
至此根據工作表名稱批量拆分總表數據的操作也算是完成了;當總表的數據發生改變時,分表的數據也會隨之改變,耳聽為虛,口說無憑,那咱就眼見為實唄:
3. EXCEL里怎麼獲取另一個表的數據
你知道EXCEL怎樣取另外一個表中的對應數據嗎?下面來介紹一下方法。
方法
1/11
首先明確需求,表一中只有名字,缺少性別。
2/11
表二中有姓名和性別信息。此時要表一的第二列要獲取表二的第二列信息。
3/11
將游標放在表一的B2單元格。
4/11
點擊上方的「f(x)」插入函數。
5/11
找到VLOOKUP函數並點擊下方的「確定」。
6/11
第一個參數為A2,即前面對應的姓名。
7/11
第二個參數為「sheet2」,即引用數據的表格。
8/11
第三參數為「2」,即表中的第二個數據。
9/11
最後一個參數為0,表示完全匹配。填寫完畢後,點擊下方的「確定」。
10/11
點擊B2列右下角的十字,並向下拖至B6列。
11/11
現在對應的數據就引用過來了
2018Excel中從一個表中提取另外一個表的數據
開啟分步閱讀模式
操作方法
01
雙擊打開電腦中安裝的Excel軟體,進入主頁面,如下圖所示
02
打開表一個表格,這個表格里sheet1和sheet2都有內容,如下圖所示,
03
我們要做的是在sheet1中 在d6單元格中查找銷售人員5的銷售金額,利用公式進行查找,
在d6單元格中單機fx插入函數,彈出插入函數對話框,如下圖所示,
04
我們選擇第一個vlookup函數,然後單機確定按鈕,進入函數參數對話框,如下圖所示,
05
因為我們要查找銷售人員5的銷售額,所以在查找值中輸入a6,如下圖所示
06
在數據表中選擇sheet2表格中的a列和b列,如下圖所示,
07
在列序數中輸入2,因為我們需要的是金額,所以選擇第二列,匹配條件輸入0,如下圖所示,
08
單擊確定按鈕,金額就已經顯示了,61,我們可以和sheet2對比一下,數據是完全一致的。如下圖所示。
09
滑鼠放在D6單元格中的右下角的地方,待滑鼠圖標改為實心的十字形時,往下拉動,其他銷售員的銷售金額,已經批量顯示了,這樣可以大大節省我們的時間
操作方法
01
首先我們新建一個Excel文件,並且輸入一些數據。
02
同樣在「sheet2」和「sheet3」中也輸入一些數據。
03
一般我們引用其他單元格或者表格內的數據都是准備做一些計算,先看看同一張表格引用的實例,做一個簡單的加法。
04
下面引用sheet2或者sheet3的數據看看。
05
實際上如果你看出上面的規律之後就知道,在引用的時候可以直接在編輯窗口內輸入字元就可以實現,那麼要是我改了表格名字會怎樣呢?
操作方法2
01
不同的文件中數據也可以引用。我們再建立一個Excel文件並輸入數據。
02
這個時候最好先把兩個文件都打開。
03
同樣在表格1中輸入一個運算式,引用的方法仍然是點開文件選擇單元格。
04
以上證明是可以引用的,那麼我們把第二個表格關閉看看有什麼變化。
05
上面的位置似乎對引用的文件位置有要求,那麼我們刪除這個文件看看數值有沒有變化
4. 怎樣從Excel中讀取其他資料庫的數據
可能不甚了解。本文就介紹了怎麼樣在Excel軟體中獲取其它資料庫中的數據,以便在常用的數據處理軟體中利用其它資料庫中的數據。
關鍵字:Microsoft Excel,資料庫,導入,表,Microsoft uery。
一、Microsoft Excel 2003簡介
Microsoft Excel 2003是Microsoft Office 2003中的一個組件,它是一個高效、實用的電子表格軟體,具有強大的數據處理與數據分析能力,為廣大用戶進行數據處理提供了一個很好的工具,也為廣大的用戶所熟悉。如何在Excel中利用其它資料庫中的數據呢?
二、導入其它資料庫表中的數據到Excel中
在Microsoft Excel中導入其它資料庫表中的數據的方法非常簡單。具體操作步驟如下:
第一步,啟動Microsoft Excel,新建或者打開需要數據的工作簿,選中相應的工作表,並選中新導入的數據存放的起始單元格;
第二步,執行「數據」→「導入外部數據」子菜單下的「導入數據」命令,在對話框中選擇要導入的數據所在的文件的類型,並通過對話框中的「查找范圍」後面的下拉箭頭找到要導入的數據文件所在的位置。
第三步,選中要導入的文件,單擊圖1所示對話框中的「打開」按鈕。至此,選中的數據表中的數據就導入到了當前工作簿的當前工作表中了,當然也可以將導入的數據放在新的工作表中。
舉例:在Excel工作簿「導入.XLS」中的sheet1工作表導入一個VFP(Visual FoxrPro,下同 )中的表(學生.dbf)中的數據。導入的具體操作步驟如下:
首先打開工作簿「導入.XLS」,選中sheet1工作表,如圖2所示;執行「數據」→「導入外部數據」子菜單下的「導入數據」命令,在對話框中選擇要導入的數據的文件的類型,並通過對話框中的「查找范圍」後面的下拉箭頭找到要導入的數據文件所在的位置;選中要導入數據的.dbf文件(此例的選擇見圖3),單擊「打開」按鈕。這樣,就在Excel工作簿「導入.XLS」中的sheet1工作表中導入了VFP中建立的資料庫表文件「學生.dbf」中的數據。結果如圖4所示。
以上是在Excel工作表中導入VFP數據表中的數據的操作方法。如果要在Excel工作表中導入其它資料庫表中的數據,操作方法基本相似。說明以下幾點: