首頁 > 娛樂
# 軟體工程# 批次建立工作表-----------表頭的資料分析
由 覓知 發表于 娛樂2021-06-02
簡介我們這裡需要的是工作表名,用到了info-type裡的一個可能值 “filename” (可以理解成這個引數為一個小組的組名,今天需要上班的是其中的組員
表格中表頭指什麼
多日不學習,腦袋會生鏽,今天繼續來學習EXCL吧。
在前面的這篇文章中(
EXCL根據已有模板批次建立工作表
),學的用模板式的表格建立多個表格,那這個模板中的有些資料肯定是不一樣的,像表頭之類的,或者我們需要統計多個部門的某段時間的某些相同的資料。
現在我想讓我批次建立的表,自己根據下面工作表的名字自動在單元格內顯示成表頭,如下圖:
我們想要達到上面的效果,但每個工作表的名字都不一樣,所以這一步不方便在模板裡直接寫好,那批次建出來的表只能手動新增嗎?
先來看一下——今天要學的第一個函式CELL():
它可以返回所引用單元格的格式、位置或內容等資訊。
第一個引數:
info-type(一個文字值,指定所需的單元格資訊的型別。)
注:這個引數有許多個可能
值的
,有需要的可以去搜索對應的來用一下。
上面是第一個引數顯示出來的可用值。
第二個引數:
reference(需要其有關資訊的單元格。)
大概意思就是返回某個單元格(即第二個引數)中制定好的某些資訊(就是第一個引數)。
我們這裡需要的是工作表名,用到了info-type裡的一個可能值 “filename” (可以理解成這個引數為一個小組的組名,今天需要上班的是其中的組員。)
一定要記得加“ ”,如果直接輸filename的話是會錯誤的,如下圖
看看輸入正確後的結果:
=CELL(“FILENAME”)
得到的是一個完整的帶路徑的字串,裡面包含有工作薄名和工作表名。
這裡其實還沒用引數2,可以看到當省略引數2時就只獲取當前工作表的路徑。因為這裡不需要,為了簡化我就不用它。
有了這個就近一步了,需要的是最後幾個工作表名的字元,想辦法把它提出來。
再多試幾次可以看到,每個路徑的工作表前其實都個 “]” 符號,那把這個符號以後的字條截取出來就可以了。
今天要學的第二個函式RIGHT():
看一下解釋:
從一個文字字條串的最後一個字元開始返回指定個數的字元。
我的目就是要得到字元 “]” 後的所有字元,剛好符合目的,只要知道 “]” 後有幾個字元就好了。
第一個引數:
text(就是一個字串)
第二個引數:
[num_chars](就是你要返回的字串的長度)
那這裡的第一個引數就用上面的 CELL(“FILENAME”) 代替。
第二個引數需要知道 “]” 後有幾個字元,就得用到計算長度的函式。看來要繼續今天的第三個函數了。
今天的第三個函式LEN():
這個函式就是計算一個字串長度,很簡單。
=LEN(CELL(“filename”))
得到的是上面那串路徑字串的長度是66。
這裡用LEN取得 CELL(“FILENAME”) 獲得的字串的長度再減去 “]” 前所有字串的長度就可以得到我們需要的工作表名的長度了。
那 “]” 前所有字串的長度就直接利用上一篇文章
EXCL(接上文——批次提取工作表方法)
中的 FIND()函式。複習一下它的介紹:
再來看看 “]” 字元出現的位置。
=FIND(“]”,CELL(“filename”))
既然 “]” 出現在第60位,用這個字串的總長66減去 “]” 出現時的60,那不就是我們需要的工作表的名的長度了嗎?把它們湊起來試一下:
=RIGHT(CELL(“filename”),LEN(CELL(“filename”))-FIND(“]”,CELL(“filename”)))
對比一下工作表名,和我們用函式提出的字元,完成了。
當然,這一步得在前面文章中批次建表格時,就是在製作模板的時候就寫上去,不然就是個空氣。
今天就學到這裡了,下次繼續吧。