首頁>Club>
在一個表格中,A列為病人姓名,B列為就診時間。同一病人有多次就診記錄,如何快速實現同一病人多次就診時間在姓名後自動排列,以計算就診時間間隔?(A:B是原表,E:H是想實現的效果)
2
回覆列表
  • 1 # EXCEL學習微課堂

    如何從電子表格中提取同一病人多次就診的時間記錄?即在一個表格中,A列為病人姓名,B列為就診時間。同一病人有多次就診記錄,如何快速實現同一病人多次就診時間在姓名後自動排列,以計算就診時間間隔?(A:B是原表,E:H是想實現的效果)

    《比Vlookup好用10倍的自定義函式VLOOKUPS,解決VLOOKUP的難題!》

    溫馨提示:

    1、記得一定要先匯入模組再使用這個函式,這個函式是自定義函式,不包含在Excel預設的函數里。

    2、記得儲存EXCEL檔案為啟用宏的工作簿.xlsm,要不你用vlookups函式查找出結果後要立即複製原址貼上為值,下次開啟檔案時就不會出錯。

    二、具體步驟

    1、匯入自定義函式模組。ALT+F11 調出VBA 編輯器 →在工程視窗右擊選擇【匯入檔案】→選擇VBA 模組檔案(自定義函式VLOOKUPS.bas)→關閉VBA 編輯器。

    2、在E2單元格輸入以下公式後,往往下往右拉即可。=vlookups($D2,$A:$A,2,COLUMN(A1))

    公式解析:Vlookups與VLOOKUP類似,有4個引數:vlookups(找誰,在哪找,返回第幾列,找第幾個)

    第①引數是要查詢的內容【姓名】$D2,考慮到公式要往右拉,所以鎖定D列

    第②引數是包含查詢值【姓名】的資料列即A列,公式要往右拉,所以鎖定A列

    第④引數用COLUMN(A1)提取A1的列號,結果為1,往右拉公式後,會依次得到B1,C1的列號,即得到1個從1-6的數,即提取第1次到第6次的就診時間。

    動圖演示:

  • 2 # 玩Office

    這個問題依然可以用資料透視表來解決。

    很多人以為資料透視表僅僅是用來做統計分析報表,其實不然。調整資料表結構,拆分工作表等等都是資料透視表可以做的。

    回到問題中,希望從源資料表提取每個人的就診記錄,並以新的結構呈現。

    第一步 新增輔助列

    源資料表中只有“姓名”和“就診時間”兩個欄位,那我們還需要新增一個輔助欄位”第幾次就診“。

    乍一看,可能你覺得新增這個輔助列不符合邏輯。但是這個僅僅是輔助列,為了後面的資料表做準備的。接著往下看你就明白了。

    第二步 插入資料透視表,改變資料結構

    1. 插入資料透視表。

    2.“姓名”放行欄位區域,“就診時間”放值欄位區域,“第幾次就診”欄位放列欄位區域。

    3. 禁止行列彙總,值顯示方式從“計數”改為“求和”。

    這時候,日期預設是數值格式。不要緊,先不用管它。

    第三步 複製透視表資料並整理格式。

    1. 複製透視表,並透過選擇性貼上,僅貼上數值。

    3. 將數值格式改為日期格式。(單元格格式快捷方式Ctrl+1)

    5.表格美化。

    整體做下來的步驟有點多,但是思路和邏輯都比較簡單。

    只要理解了,做起來並不困難。

    不過這個方法有個缺點:

    當源資料表資料增加/變化的時候,資料透視表可以一鍵重新整理,但是第三步卻不能同步自動更新。所以需要重複第三步的步驟。

    這又是另外一個問題,這個回答下不拓展這點了。

  • 中秋節和大豐收的關聯?
  • 兒子16歲了,身高165CM,還能長高多少?怎麼能再長高點?