EXCEL中的資料庫

2021-04-14 01:51:58 字數 1409 閱讀 2944

「erp先從編碼始」,這話是大抵不錯的。只要是編碼,顏色就不能不被考慮進去。我們廠用的是乙個名叫《pantone》的國際色版標準,第一件要做的事情就是在excel中將其編號與英文名稱一股腦地輸入進去,以便在以後的工作中查詢方便。

俺沒有看錯人才,新招的erp同事mm果然好生了得,不到一天1925種顏色就全收歸excel的單元格中。再出了一點主意讓她排了一下版,合併了一些單元格,作出了框線。到此為止,乙個最常見的excel**就此產生。一般的文員也就到此為止了(見

圖1)。

可是俺不!俺是程式設計師耶,做出來的東西怎麼可能不專業?於是俺繼續對此**繼續「研究」。

在最開始,俺對這個pantone色辦的了解,除了知道它是6位定長的數字以外,不會更多。6位數字本來可以表示百萬種顏色,在這個價值3000多港幣的pantone色版中,只有區區兩千來種,可見非常集中。那麼俺就想先知道它到底集中在哪一塊。於是俺另起一列,取其編號的最左邊的兩位數,然後用自動篩選,一看還有只有11~19和25、46這幾個數,一看就知道後面那兩個數是erp同事mm手法過於快速,難免忙中出錯所致,於是也順便將這些錯誤改了。也算意外的收穫。

再查,先用countif("c2:c1926",「11」)去探知以11開頭的顏色有多少條,這個自然容易。俺又突發奇想:要

是要知道以11開頭的顏色中,哪個編號最小、哪個編號最大。這個問題單純用min/max函式肯定不能解決,看樣子有很大的挑戰性,於是俺立刻來了精神。知道excel中專門有用於資料庫處理的函式,於是查閱幫助,把dsum/dcount/dmax/dmin的範例認真琢磨了半天,依然還是不得其門而入。函式一打上去,忽而是0,忽而是n/a,也不知道錯在**,心中著實鬱悶。

上網搜,總算看懂了dmax/dmin/dcount函式的意思。建議微軟,將它自帶的範例換成網上好理解的那種,否則連俺這等專業資料庫程式設計師都不得要領,可見其難度之高,以及太不實用。俺對照網上例程,左嘗右試,終於小功告成!(見

圖2)對dmax/dmin/dcount函式,俺的體會是:第乙個引數所指定的範圍,一定要包含第三個引數所在的範圍。同時第三個引數的內容,也於第二個引數的內容也有關係。第二個引數名義上是乙個標籤,其實是代指其所在的該列。在俺這個例項中,就是f列,也就是用left函式所造出來的輔助列。

現在知道了11等開頭的顏色編號的最小值、最大值,俺並不滿足,接著想:要是還能夠知道該最小值、最大值位於色版的第幾頁第幾個位置該有多好啊。此時俺暗暗叫苦,因為所有的頁數都已經合併,現在又要分開,如果對單元格本身動手,不是什麼難事,可是別忘記了俺是誰!

不能直接用2作為公式的組成部分,因為拖動公式的時候,2總是不變,就達不到俺的目的了。俺用row(b2)函式查出編號的單元格所位於的行,然後用int((row(b2)-2)+1就曉得了該行所在的頁數,剩下的就是用text函式包裹,把它轉換成3位字元。頁出來了。然後把此頁號與序號以文字的形式相加:=concatenate(k2,text(b2,"0")),就得到了乙個文字形式的四位數。前三位是頁,後一位是序。

資料庫中資料匯出到Excel檔案中

匯出excel檔案 用worksheet物件返回乙個range物件,該物件代表 能在受保護的工作表中進行編輯的區域的子集 引數1 表示區域名,必須為a1樣式引用的巨集語言 引數2 表示區域左上角到右下角的單元格 myrange myworksheet.get range a1 mycolumns.t...

把Excel表中的資料匯入資料庫

需求 在實現競價 時,需要把excel表中的資料週期地有條件地匯入到 位表中。這裡結合資料庫作業實現。步驟 1 生成乙個excel表 工作表名稱 website 包含的列 spid,spname,spiniprice,spincextent,spnowprice,spimage,spbidnum,s...

把資料庫中的資料匯出到excel

exec sp configure ad hoc distributed queries 0 reconfigure exec sp configure show advanced options 0 reconfigure to allow advanced options to be chang...