第一篇:SAP HR的使用心得
SAP HR的使用心得
關(guān)于SAP HR。由于很多朋友一直在做SAP的關(guān)系,心中始終對(duì)他們充滿了一份敬畏。
最近總算有機(jī)會(huì)完整的看完了SAP的操作手冊(cè),登陸了正式的SAP HR系統(tǒng)。對(duì)他們傳說(shuō)中的很多功能進(jìn)行了仔細(xì)的研究。
總體說(shuō)來(lái),既有很高興的地方,也有很多很多的失望。
一、關(guān)于SAP HR的組織管理、人事信息和人事活動(dòng)管理
關(guān)于這兩個(gè)模塊,我想SAP是很成熟的。人力資源信息對(duì)于中國(guó)報(bào)表的支持已經(jīng)達(dá)到了超出我意料的程度,這次中石油的實(shí)施,不過(guò)中組部和人事部的年報(bào)還是不能夠支持。就這樣代價(jià)也很昂貴,ABAP和報(bào)表和Bw的開(kāi)發(fā)人員達(dá)到12人。目前用BW做的分析能力實(shí)際上很弱。
剛開(kāi)始時(shí)候用的時(shí)候最大的驚喜就是事務(wù)代碼的輸入,使用非常方便。比如直接在輸入框輸入PA30PA40就分別進(jìn)入人員信息維護(hù)和人事活動(dòng)模塊。
SAP對(duì)人事范圍和人事子范圍、員工組和員工子組、薪資范圍、稅務(wù)范圍、考勤范圍的處理體現(xiàn)了SAP的簡(jiǎn)單易用的原理。但是在處理矩陣組織的時(shí)候,這樣和Peoplesoft的SETID的處理相比,還是有缺陷的。因?yàn)镾ETID是可以任意劃分的,可以使一個(gè)虛擬的東西,比如對(duì)于新政組織按照地域劃分的組織來(lái)說(shuō),人事范圍一般在SAP系統(tǒng)里必須按照地理范圍來(lái)設(shè)計(jì),但是對(duì)于另外一個(gè)緯度上比如業(yè)務(wù)(典型的是零售業(yè),比如有綜超、大賣(mài)場(chǎng)、便超)這樣的組織的時(shí)候,職位的信息需要人事范圍這樣的標(biāo)記,來(lái)區(qū)分同一個(gè)職位在不同的業(yè)務(wù)上的區(qū)別的時(shí)候,SAP就比較難了。一般在Peoplesoft里,將SetID和Job Code結(jié)合起來(lái),SetID劃分了綜超、大賣(mài)場(chǎng)、便超,對(duì)于同樣的職位,就可以使用SetID來(lái)區(qū)分。
人力資源信息方面,SAP采用信息類(lèi)型的管理,整體結(jié)構(gòu)性很好,尤其在薪資信息的管理上,對(duì)不同的薪酬類(lèi)型直接進(jìn)行了細(xì)分,比如經(jīng)常性支付、偶然性支付、單次獎(jiǎng)金發(fā)放、社保易用性不太好,至少比國(guó)內(nèi)已經(jīng)很成熟的左邊菜單樹(shù)(包括機(jī)構(gòu)和職位)的模式,SAP也能支持,不過(guò)需要的奠基次數(shù)太多。他們采用每個(gè)信息類(lèi)型放在一個(gè)下拉框的列表里,國(guó)內(nèi)產(chǎn)品一般放在Tab頁(yè)里。
SAP對(duì)工作履歷的支持采用有參照(代碼)的工作履歷,這樣處理值得商榷,因?yàn)檫@樣只能記載HR系統(tǒng)內(nèi)的工作履歷,對(duì)SAP系統(tǒng)有信息之前的工作履歷無(wú)法記載。國(guó)內(nèi)的處理一般是無(wú)參照(代碼)的工作履歷。SAP對(duì)合同信息的處理非常好,處理了不同的合同類(lèi)型,并且對(duì)合同信息處理的同時(shí),有一個(gè)自動(dòng)帶出任務(wù)監(jiān)控的功能。
SAP支持對(duì)HR信息的批量修改和批量導(dǎo)入,這方面的功能作的比較易用。最大的亮點(diǎn)就是SAP能自己生成標(biāo)準(zhǔn)化的導(dǎo)入EXCEL表,這樣解決了顧問(wèn)在做導(dǎo)入EXCEL表的時(shí)候的偶然性錯(cuò)誤。往往發(fā)生這種錯(cuò)誤的話,在數(shù)據(jù)庫(kù)里要找出錯(cuò)誤的紀(jì)錄和字段非常困難。
SAP在時(shí)間域?qū)R信息的方面歷史信息和期間信息和當(dāng)前信息集成在一個(gè)界面,值得借鑒。
SAP在組織機(jī)構(gòu)的訪問(wèn)方式上提供了4種瀏覽方式,一種是機(jī)構(gòu)下面包含機(jī)構(gòu)的方式,第二種是包含機(jī)構(gòu)下面職位的機(jī)構(gòu)瀏覽方式,第三種是機(jī)構(gòu)下面不包含職位但是包含人員的機(jī)構(gòu)瀏覽方式,還有一種是帶有工作中心的瀏覽方式。
SAP對(duì)機(jī)構(gòu)、職位和人事時(shí)間都提供了計(jì)劃和生效的版本,這非常好,解決很業(yè)務(wù)人員將業(yè)務(wù)計(jì)劃和操作執(zhí)行分開(kāi)的問(wèn)題,且在進(jìn)行組織模擬的時(shí)候能夠?qū)⒃瓉?lái)組織機(jī)構(gòu)和新版本組織機(jī)構(gòu)進(jìn)行對(duì)比,將不同的地方用紅色標(biāo)記出來(lái)。這樣的功能目前國(guó)內(nèi)產(chǎn)品中只有嘉揚(yáng)進(jìn)行了支持,但是不是很全面。并且SAP支持對(duì)機(jī)構(gòu)和職位的新建進(jìn)行審批,這在國(guó)內(nèi)的產(chǎn)品里很少看到,在peoplesoft里也是一個(gè)常見(jiàn)功能。
SAP對(duì)機(jī)構(gòu)和職位的合并(原有組織消失并成一個(gè)新組織)、并轉(zhuǎn)(組織并入另外一個(gè)組織)雖然也支持,但是做的很不好,實(shí)際上就是原有功能的手工操作。不支持批量的處理。
SAP對(duì)多分配的管理做的不是很好,至少?zèng)]有看到象Peoplesoft那樣的專(zhuān)門(mén)處理。多分配在國(guó)內(nèi)叫做多職位,一個(gè)人具有多份工作,一般提供三個(gè)字段進(jìn)行支持,一個(gè)是就業(yè)記錄號(hào)(EmployeeID),還有一個(gè)是生效日期,還有就是生效順序號(hào)(SequenceID),在多個(gè)分配同一天放生的時(shí)候,生效順序號(hào)是有必要的。SAP系統(tǒng)里沒(méi)有生效順序號(hào)的原因是他們的工作分配表(Job Assignment)和人事事件表(Action/Reason)b是分開(kāi)的。
SAP對(duì)人事活動(dòng)的處理我認(rèn)為是做得相當(dāng)好的。SAP在這塊的處理最大的好處就是標(biāo)準(zhǔn)化和業(yè)務(wù)集成。
將人事活動(dòng)進(jìn)行標(biāo)準(zhǔn)化,在軟件公司里一直是產(chǎn)品經(jīng)理爭(zhēng)議的地方。在Peoplesoft、Oracle和國(guó)內(nèi)產(chǎn)品比如用友等產(chǎn)品里,他們呢都是靈活的,靈活的優(yōu)勢(shì)是什么都可以做,但是最后的結(jié)果是:
1)無(wú)法做標(biāo)準(zhǔn)化的報(bào)表,這在薪酬里薪資類(lèi)別不進(jìn)行標(biāo)準(zhǔn)化的惡果是一樣的,在標(biāo)準(zhǔn)版里看不到很多管理的東西,需要實(shí)施顧問(wèn)根據(jù)自己的水平進(jìn)行設(shè)計(jì),這樣造成不同的顧問(wèn)實(shí)施效果很不一樣。
2)實(shí)施顧問(wèn)的工作量很大,大量的二次開(kāi)發(fā),用戶在這里的到的好處并不時(shí)太多,一般需要對(duì)人事活動(dòng)的單據(jù)字段進(jìn)行設(shè)計(jì),單據(jù)的流程進(jìn)行配置。
3)無(wú)法對(duì)操作進(jìn)行標(biāo)準(zhǔn)化,在這里對(duì)操作進(jìn)行標(biāo)準(zhǔn)非常好,尤其是關(guān)于薪酬、社保、住房公積金方面的人事活動(dòng)。
SAP大概的標(biāo)準(zhǔn)人事事件分為兩類(lèi),一類(lèi)是和薪酬無(wú)關(guān)的人事活動(dòng),有:新增員工、調(diào)入、調(diào)出、崗位變動(dòng)、減冊(cè)、離崗、外派、重新錄用。當(dāng)然SAP也是允許擴(kuò)展的,比如:專(zhuān)業(yè)技術(shù)職務(wù)聘任、專(zhuān)還有一類(lèi)是和薪酬有關(guān)的人事活動(dòng):入職定薪、入職定薪(社保公積金處理)、員工晉檔、工資制度完善(即工資標(biāo)準(zhǔn)變化)、工資處理(即一般崗位調(diào)動(dòng)、職務(wù)變動(dòng)產(chǎn)生薪資調(diào)整)、社保公積金調(diào)整、減冊(cè)(社保公積金處理)。
SAP將人事事件的進(jìn)行了標(biāo)準(zhǔn)化的集成。即在進(jìn)行一項(xiàng)人事事件操作時(shí),對(duì)人事事件本身及相關(guān)的很多操作進(jìn)行了處理,比如在進(jìn)行入職定薪的時(shí)候,涉及到:工資核算范圍的設(shè)定、工作時(shí)間(即考勤日程)的設(shè)置、基本工資設(shè)置(即級(jí)別、檔次的設(shè)置)、個(gè)人銀行賬戶信息、經(jīng)常性支付、個(gè)人所得稅(包括范圍、稅率、計(jì)稅方式)、以及工資總額方面的設(shè)置。
SAP也支持對(duì)用工總量的控制。這里進(jìn)行了一些模型化工作,對(duì)機(jī)構(gòu)定員按照不同的員工類(lèi)別進(jìn)行控制,這是一個(gè)亮點(diǎn)。
以上是初步對(duì)SAP HR的一些看法。
SAPHR在中國(guó)的發(fā)展經(jīng)歷過(guò)了很長(zhǎng)時(shí)間,前后有很多業(yè)內(nèi)重量級(jí)的人物對(duì)它進(jìn)行過(guò)系統(tǒng)的改造,確實(shí)在整體上超出了國(guó)內(nèi)外很多產(chǎn)品的水準(zhǔn),在這里對(duì)SAPHR中國(guó)版表示尊敬。包括對(duì)其中作出過(guò)重要貢獻(xiàn)的聶宜軍先生以及我不認(rèn)識(shí)的其他產(chǎn)品經(jīng)理。這是一個(gè)國(guó)內(nèi)eHR專(zhuān)家(基本上我還自認(rèn)為算得上)的粗淺看法。
第二篇:EXCEL使用心得
一、讓格式自動(dòng)添加固定的數(shù)字
例子:
大家知道,身份證號(hào)碼的前6位,是省、市、區(qū)(縣)的代號(hào)(如“340505”等),如果持證人是同一區(qū)(縣)的,輸入這樣的的身份證號(hào)碼,可以讓“數(shù)字”標(biāo)簽幫你減輕輸入的工作量:選中需要輸入身份證號(hào)碼的單元格(區(qū)域),打開(kāi)“單元格格式”對(duì)話框,進(jìn)入“數(shù)字”標(biāo)簽,在“分類(lèi)”下面選中“自定義”選項(xiàng),然后在右側(cè)“類(lèi)型”下面的方框中輸入:“340505”@,確定退出。以后輸入身份證號(hào)碼7位及以后的數(shù)字(如“198903040611”)后,系統(tǒng)會(huì)自動(dòng)在前面加上相應(yīng)的代碼,形成完整的身份證號(hào)碼(如“***611”)。
二.教你使用Excel數(shù)組公式
Excel中數(shù)組公式非常有用,尤其在不能使用工作表函數(shù)直接得到結(jié)果時(shí),數(shù)組公式顯得特別重要,它可建立產(chǎn)生多值或?qū)σ唤M值而不是單個(gè)值進(jìn)行操作的公式。
輸入數(shù)組公式首先必須選擇用來(lái)存放結(jié)果的單元格區(qū)域(可以是一個(gè)單元格),在編輯欄輸入公式,然后按Ctrl+Shift+Enter組合鍵鎖定數(shù)組公式,Excel將在公式兩邊自動(dòng)加上花括號(hào)“{}”。注意:不要自己鍵入花括號(hào),否則,Excel認(rèn)為輸入的是一個(gè)正文標(biāo)簽。
選取數(shù)組公式所占有的全部區(qū)域先選中區(qū)域中任意一個(gè)單元格,然后按下Ctrl+/鍵即可。編輯或刪除數(shù)組公式編輯數(shù)組公式時(shí),須選取數(shù)組區(qū)域并且激活編輯欄,公式兩邊的花括號(hào)將消失,然后編輯公式,最后按Ctrl+Shift+Enter鍵。選取數(shù)組公式所占有的全部區(qū)域后,按Delete鍵即可刪除數(shù)組公式。
數(shù)組常量的使用數(shù)組公式中還可使用數(shù)組常量,但必須自己鍵入花括號(hào)“{}”將數(shù)組常量括起來(lái),并且用“,”和“;”分離元素。其中“,”分離不同列的值,“;”分離不同行的值。
使用不在工作表中的數(shù)組有時(shí),公式僅占用一個(gè)單元格時(shí)也需要以數(shù)組的方式輸入。其具體原則是:一個(gè)公式使用了數(shù)組,并且這個(gè)數(shù)組不在工作表上,就應(yīng)該使用數(shù)組的方式輸入這個(gè)公式。
下面介紹兩個(gè)使用數(shù)組公式的例子。
1.如需分別計(jì)算各商品的銷(xiāo)售額,可利用數(shù)組公式來(lái)實(shí)現(xiàn)。
單元格F2中的公式為:{=SUM(IF(A2:A11=″商品1″,B2:B11*C2:C11,0))}。這個(gè)數(shù)組公式創(chuàng)建了一個(gè)條件求和,若在A2:A11中出現(xiàn)值“商品1”,則數(shù)組公式將B2:B11和C2:C11中與其相對(duì)應(yīng)的值相乘并累加,若是其他值則加零。同時(shí),雖然數(shù)組B2:B11和C2:C11均在工作表中,但其相乘的數(shù)組B2:B11*C2:C11不在工作表中,因此必須使用數(shù)組公式。
2.假設(shè)要將A1:A50區(qū)域中的所有數(shù)值舍入到2位小數(shù)位,然后對(duì)舍入的數(shù)值求和。很自然地就會(huì)想到使用公式:=ROUND(A1,2)+ROUND(A2,2)+…+ROUND(A50,2)。
有沒(méi)有更簡(jiǎn)捷的算法呢?有。因?yàn)閿?shù)組ROUND(A1:A50,2)并不在工作表中,因此要使用數(shù)組的方式輸入公式,即:{=SUM(ROUND(A1:A50,2))}。
三、自動(dòng)更正
1.從工具菜單中選擇“自動(dòng)更正”,打開(kāi)自動(dòng)更正對(duì)話框。
2.在“替換”框中輸入數(shù)據(jù),如:“4z”,在“替換為”框中輸入數(shù)據(jù),如:“棗陽(yáng)市第四中學(xué)”,單擊“添加”,再單擊 “確定”。
之后,只需在單元格中輸入“4z”兩字,即會(huì)自動(dòng)更正為“棗陽(yáng)市第四中學(xué)”。
四、在excel工作表中輸入計(jì)算公式時(shí),如果想讓儲(chǔ)存格在顯示計(jì)算結(jié)果和計(jì)算公式本身之間切換,您會(huì)采取什么方式呢?
是不是每次都從“工具”>“選項(xiàng)”>“視圖”>“窗口選項(xiàng)”>“公式”來(lái)切換呢?有沒(méi)有更簡(jiǎn)便的方法呢?
其實(shí),我們可以利用“ Ctrl+` ”鍵來(lái)決定顯示或隱藏公式,每按一次就可讓儲(chǔ)存格在顯示計(jì)算的結(jié)果和計(jì)算公式本身之間自由切換。
五、快速錄入文本文件中的內(nèi)容
現(xiàn)在您手邊假如有一些以純文本格式儲(chǔ)存的文件,如果此時(shí)您需要將這些數(shù)據(jù)制作成Excel XP的工作表,那該怎么辦呢?重新輸入一遍,太浪費(fèi)時(shí)間;將菜單上的數(shù)據(jù)一個(gè)個(gè)復(fù)制到工作表中,同樣也費(fèi)事。這時(shí)!您只要在Excel XP中巧妙使用其中的文本文件導(dǎo)入功能,就可以大大減輕需要重新輸入或者需要不斷復(fù)制、粘貼的巨大工作量了。使用該功能時(shí),您只要在Excel XP編輯區(qū)中,選定菜單欄中的“數(shù)據(jù)/獲取外部數(shù)據(jù)/導(dǎo)入文本文件”命令,然后在導(dǎo)入文本會(huì)話窗口選擇要導(dǎo)入的文本文件,按下“導(dǎo)入”鈕以后,程序會(huì)彈出一個(gè)文本導(dǎo)入向?qū)?duì)話框,您只要按照向?qū)У奶崾具M(jìn)行操作,就可以把以文本格式的數(shù)據(jù)轉(zhuǎn)換成工作表的格式了。
六、行列轉(zhuǎn)置
假如A1-A10單元格中有不同的內(nèi)容,現(xiàn)在需要將這些內(nèi)容分別排列在A1、B1、C1、D1...J1單元格中,即將原來(lái)在同一列中的內(nèi)容重新排列在一行中。難道要一個(gè)一個(gè)單元格去復(fù)制粘貼嗎?完全不用。
首先,選中A1-A10單元格,單擊右鍵,在彈出的菜單中選擇“復(fù)制”命令;接著單擊B1單元格,再單擊右鍵,在彈出的菜單中選擇“選擇性粘貼”命令,彈出對(duì)話框,選擇其中的復(fù)選項(xiàng)“轉(zhuǎn)置”,點(diǎn)擊確定。這時(shí)你會(huì)看到B1、C1....K1單元格中已有了A1-A10單元格中的內(nèi)容,將A列選中,在右鍵菜單中刪除,此時(shí)行列轉(zhuǎn)換工作就完成了。
七、在Excel2000中設(shè)計(jì)彩色數(shù)字
在你使用Excel2000對(duì)一張工作表中的數(shù)據(jù)進(jìn)行處理時(shí),有時(shí)是不是希望其中某些數(shù)據(jù)能夠有自己特殊的顯示格式?比如,現(xiàn)在你有如圖的一張Excel工作表,在“總成績(jī)”一欄中,你需要小于120的顯示為藍(lán)色,大于120的顯示為紅色。下述的方法,可以讓你的愿望變?yōu)楝F(xiàn)實(shí)。該方法是:
1.選中D25的單元格區(qū)域。
2.單擊“格式”菜單中的“單元格”命令,然后單擊“數(shù)字”選項(xiàng)卡。
3.單擊“分類(lèi)”列表中的“自定義”選項(xiàng),在“類(lèi)型”框中鍵入“[藍(lán)色][<120];[紅色][>=120]”。
4.單擊“確定”按鈕。
怎么樣,Excel按你的要求顯示出不同顏色的數(shù)字了吧?
最后,對(duì)在“類(lèi)型”框中鍵入的數(shù)字格式代碼進(jìn)行簡(jiǎn)單地說(shuō)明,“[藍(lán)色]”是對(duì)數(shù)據(jù)顯示顏色的設(shè)置,除“紅色”、“藍(lán)色”外,還可使用六種顏色,它們是黑色、青色、綠色、洋紅、白色、黃色。“[>=120]”是條件設(shè)置,可用的條件運(yùn)算符有:>、<、>=、<=、=、<>。當(dāng)有多個(gè)條件設(shè)置時(shí),各條件設(shè)置以分號(hào)“;”間隔。
八、減少修改EXCEL參數(shù)的秘籍
在此處設(shè)計(jì)好的公式,拿到彼處用時(shí),大部分不會(huì)完全合適,往往要修改公式中的參數(shù).特別是函數(shù)中引用的單元格區(qū)域,往往需要修改.所以這里就以單元格區(qū)域?yàn)槔榻B一種減少或者是避免參數(shù)修改的辦法.雖然說(shuō)不上"萬(wàn)能",但將公式任意粘貼而基本不用修改是確實(shí)能辦到的.
一個(gè)單元格、或者由許多單元格組成的單元格集合都可以作為一個(gè)區(qū)域,并可以命名一個(gè)名字。這許多朋友都知道。但對(duì)合理恰當(dāng)?shù)厥褂妹麉^(qū)域帶來(lái)的方便,許多朋友或者是不重視,或者是覺(jué)得麻煩而較少使用。不過(guò)要實(shí)現(xiàn)上面的目標(biāo),我建議大家還是盡可能使用命名的區(qū)域。其好處如下:
1、直觀易記,區(qū)域很多時(shí),形式如(B2:M50)的名字既不好記憶,也難以一下子斷定意義,反之,使用區(qū)域名字,特別是用中文作為區(qū)域名字時(shí),能見(jiàn)文知義,大大減輕了記憶負(fù)
擔(dān)。例如,將區(qū)域(B2:M50)命名為“三甲物理分”,一見(jiàn)名字就明白意思.
2、如果某一區(qū)域需要在多個(gè)公式中使用,采用區(qū)域命名會(huì)很方便。例如函數(shù)中需要引用“三甲物理分”這個(gè)區(qū)域時(shí),可以直接拿它當(dāng)參數(shù).如果想得到那種一次設(shè)計(jì),多次重用的“計(jì)算模板”,則更是非將區(qū)域命名不可。
3、如果區(qū)域的范圍需要擴(kuò)大或縮小,只需要將原來(lái)的名字重新命名一下,而原來(lái)使用的函數(shù)參數(shù)不必改動(dòng)。例如,要統(tǒng)計(jì)上面區(qū)域中有效數(shù)字的個(gè)數(shù),用的公式是:=COUNT(三甲物理分)(注意函數(shù)括號(hào)內(nèi)的區(qū)域名字不用加雙引號(hào));當(dāng)需要把該區(qū)域擴(kuò)大或縮小時(shí),可以先將原有的區(qū)域名字“三甲物理分”刪除,然后重新選定合適的范圍再次用這個(gè)名字命名,而所有以“三甲物理分”作參數(shù)的函數(shù)均不須修改而仍能使用。
乍一看這好像就不錯(cuò)了,其實(shí),這還不算完善.
前已述及,當(dāng)函數(shù)移到別的地方使用時(shí),其參數(shù)一般需要修改。比如要用上面的公式計(jì)算二乙班物理成績(jī)的有效數(shù)字個(gè)數(shù)時(shí)(這里假設(shè)你已經(jīng)將相應(yīng)區(qū)域命名為“二乙物理分”),則函數(shù)中用到區(qū)域參數(shù)又都要修改為“二乙物理分”。可以推知,即使是只修改這一處參數(shù),在處理很多學(xué)科時(shí)(因?yàn)槊總€(gè)班級(jí)可能進(jìn)行多個(gè)學(xué)科的考試),修改參數(shù)的工作量也很大,況且實(shí)際計(jì)算中往往同時(shí)使用多個(gè)公式,更導(dǎo)致參數(shù)修改的工作量成幾倍增加。以某中學(xué)三個(gè)年級(jí)24個(gè)教學(xué)班為例,假如每個(gè)年級(jí)考試5個(gè)學(xué)科,要求計(jì)算出每班各個(gè)學(xué)科的最高分、平均分、整個(gè)年級(jí)的前百?gòu)?qiáng)學(xué)生等項(xiàng)目.這些活兒就是讓你用上? 命名的法寶,手工修改參數(shù)也會(huì)磨壞你的手指!
怎樣才能減少修改的工作量、甚至做到不修改參數(shù)就能用呢?這就得需要在函數(shù)內(nèi)間接引用參數(shù)。請(qǐng)往下看
A B C三甲物理分 三乙物理分 三甲語(yǔ)文分AVERAGE(三甲物理分)=AVERAGE(三甲物理分)=AVERAGE(三甲物理分)AVERAGE(INDIRECT(A1))AVERAGE(INDIRECT(B1))AVERAGE(INDIRECT(C1))假設(shè)先設(shè)計(jì)好EXCEL工作表,將準(zhǔn)備處理的數(shù)據(jù)區(qū)域都進(jìn)行命名,并把名字依次輸入到表中第一行的各個(gè)單元格,類(lèi)似下表那樣.為了對(duì)兩種方法進(jìn)行比較,我們先在A2單元格中輸入公式:=AVERAGE(三甲物理分),可得出三甲班的物理平均分,結(jié)果也正確,缺點(diǎn)就是像上面說(shuō)的,將公式粘貼在B2、C2單元格中時(shí),括號(hào)中的參數(shù)并不會(huì)自動(dòng)取出第一行里對(duì)應(yīng)的名字,還需要用手工一一修改!如何讓它能"自動(dòng)"引用正確的參數(shù)、即能"自動(dòng)"引用第一行對(duì)應(yīng)單元格里的文字呢?可以使用函數(shù)INDIRECT().
在EXCEL中,函數(shù)INDIRECT()的作用比較特殊.其作用介紹如下:例如已知存放在A1單元格中的文字"三甲物理分"是一個(gè)區(qū)域名字,當(dāng)用INDIRECT(A1)函數(shù)時(shí),可以通過(guò)A1單元格獲得對(duì)"三甲物理分"區(qū)域的引用.好!下面我們驗(yàn)證一下:請(qǐng)你在上表中的A3單元格中輸入:=AVERAGE(INDIRECT(A1)),從得出的結(jié)果看,與A2單元格中使用的公式結(jié)果相同.從公式的組成看,多了函數(shù)INDIRECT(A1),省去了區(qū)域名字!注意,這就是激動(dòng)人心的關(guān)鍵點(diǎn)了:當(dāng)你用鼠標(biāo)拖拽的辦法向右邊單元格粘貼這個(gè)公式后,會(huì)發(fā)現(xiàn)這些單元格中的公式已經(jīng)"自動(dòng)"地引用了相應(yīng)區(qū)域的名字,你連一個(gè)參數(shù)也不用修改就得出了正確結(jié)果!??這不正是實(shí)現(xiàn)了我們苦苦追求的目標(biāo)嗎?怎么樣,很爽吧?
感謝你有耐心看到這里,下面我再送你一個(gè)"秘密武器"
上面介紹的那個(gè)有功勞的函數(shù)是INDIRECT(),它是解決名字引用的,當(dāng)要引用的單元格中是數(shù)值時(shí),它就不管用了.能引用單元格數(shù)值的是另一個(gè)函數(shù)VALUE()。它的用法是:如果在A2單元格中存放有數(shù)字85,那么在A3單元格輸入:=VALUE(A2),在A3中也能得到85這個(gè)數(shù)字。要只是這樣的代換顯然意義不大,但把它用在公式中后意義就大不一樣了。看下表:第二行中的數(shù)字是該學(xué)科達(dá)到“優(yōu)秀”的分
A B C
三乙物理分 三乙物理分 三甲語(yǔ)文分
80
=COUNTIF(INDIRECT(A1,),“$#@62;=”&VALUE(A2))
DIRECT(B1,),“$#@62;=”&VALUE(B2))=COUNTIF(IN A
=COUNTIF(INDIRECT(C1,),“$#@62;=”&VALUE(C2))
數(shù)線,我們的目的是:在第三行中根據(jù)該學(xué)科的分?jǐn)?shù)線求出該學(xué)科達(dá)到優(yōu)秀成績(jī)的人數(shù).由于不同學(xué)科劃定優(yōu)秀的分?jǐn)?shù)線一般也不同.要是直接了當(dāng)?shù)脑挘贏3中使用公式=COUNTIF((INDIRECT(A1,),“$#@62;=85”)就可以,但這樣用到B列又會(huì)遇到類(lèi)似上面的修改參數(shù)問(wèn)題。要也像上面那樣能"自動(dòng)"引用第二行中的分?jǐn)?shù)線該多好啊!別急,把VALUE()函數(shù)用上就成了!我們把A3中的公式改成:=COUNTIF(INDIRECT(A1,),“$#@62;=”&VALUE(A2)).請(qǐng)你把這個(gè)公式向右面粘貼,可以發(fā)現(xiàn),不用修改任何參數(shù)就能"自動(dòng)"地引用正確的單元格了.
如果你能夠熟練應(yīng)用INDIRECT()和VALUE()這兩個(gè)函數(shù),再加上區(qū)域命名的法寶,會(huì)給你帶來(lái)不小的方便!
至于制作能多次使用的計(jì)算"模板",我采用的是很懶也很容易的方法:將上一次用過(guò)的EXCEL文件用"另存為"作個(gè)備份,然后打開(kāi),只將原始數(shù)據(jù)清去,其他全部保留,就成了一個(gè)"模板".這樣,只需要輸入原始數(shù)據(jù),立即會(huì)得到結(jié)果,免去了輸入公式,設(shè)計(jì)格式等一大堆麻煩.
九、技巧1:給別人看,但不給別人動(dòng)
辛辛苦苦地設(shè)計(jì)了一個(gè)數(shù)據(jù)庫(kù)或者表格,卻被別人毛手毛腳地搞亂了,是不是很惱火?如果 是私人文件還好,只要設(shè)個(gè)密碼就可以了,偏偏這是要?jiǎng)e人往里面填數(shù)據(jù)或者是要給大家參考的,往往由于他人的“不小心”,而導(dǎo)致自己要重做整個(gè)表格,這種事情不知道大家遇到?jīng)]有,我可是遇到過(guò),辛苦加班加點(diǎn)用了7天才設(shè)計(jì)好的表格,因?yàn)闆](méi)做好防護(hù)措施,致使....哎,傷心往事,不說(shuō)也罷!
現(xiàn)在,我教大家一個(gè)好辦法,讓別人只能看,不能動(dòng)!
為了防止別人無(wú)意改動(dòng)表格的內(nèi)容(尤其是一些計(jì)算公式),我們必須把這些單元格設(shè)成“只讀”!
把不需要保護(hù)的的單元格選定,單擊右鍵,設(shè)置單元格,將保護(hù)標(biāo)簽中的鎖定復(fù)選框清除,然后對(duì)該工作表設(shè)置保護(hù)。此時(shí),鎖定的單元格是只讀的,剛才已被清除鎖定復(fù)選框的單元?jiǎng)t可以正常輸入。當(dāng)然,如果你連某些單元的內(nèi)容也不想別人看到,在確定這些單元保護(hù)標(biāo)簽中的鎖定復(fù) 選框是選中的情況下,再選擇隱藏即可,這樣將不顯示這些單元其中的內(nèi)容。但是你必須對(duì)工作表或工作簿實(shí)施保護(hù)后,你的保護(hù)和隱藏才有效。要保護(hù)工作表,可按以下選擇:
[工具]→[保護(hù)]→[保護(hù)工作表]→選擇密碼,重復(fù)輸入相同密碼,這樣,以后要進(jìn)入這個(gè)工作表,只要輸入密碼即可。
技巧2:得到偶數(shù)的單元格的相加值
因?yàn)楣ぷ餍枰玫脚紨?shù)的單元格的值相加之和,以下是具體的要求和思路:
要求:得到A2+A4+A6+A8+A10+A12+A14......之和,假如是少還好辦,假如有數(shù)十個(gè)相加的話就不好辦了,怎樣才能用一個(gè)公式來(lái)搞定它呢???
思路:呵呵,我已得到答案了!先用一列來(lái)得到當(dāng)前行的行號(hào),你可在C1輸入1,然后向下拖得到每一行的行號(hào),再用一列來(lái)判斷當(dāng)前行是否為偶數(shù)行,輸入公式:"=IF(INT(C1/2)=C1/2,A1,0)",然后再累加C列即可。
函數(shù)解析:其中的INT函數(shù)為判斷C1/2是否為整數(shù),如果C1是偶數(shù)C1/2當(dāng)然是整數(shù)了,IF函數(shù)判斷INT(C1/2)是否為偶數(shù),如是,則取A列值,如果不是,就取0值。
看懂以上公式后,再教你一個(gè)更簡(jiǎn)單的方法:用ROW函數(shù).ROW()可以得到當(dāng)前行的行號(hào),這樣,判斷當(dāng)前行是否為偶數(shù)就不用再增加C列了,只要直接輸入公式:"=IF(INT(ROW(?)=ROW()/2,A1,0)",向下拖動(dòng),累加即可。
技巧3:如何使Excel中數(shù)字計(jì)算自動(dòng)四舍五入
目的:要對(duì)一個(gè)單元格中的數(shù)據(jù)(利用函數(shù)計(jì)算得出的)在它本身所在的單元格內(nèi)進(jìn)行四舍五入。
//* 假設(shè)B1單元格內(nèi)容為:=if(A1$#@62;5,6234*.05)*//
1.如果B1單元此后不再加入其他運(yùn)算,只要:
右鍵單擊B1 → 設(shè)置單元格格式 → 小數(shù)位數(shù)調(diào)整到2位.或者單擊B1,選擇快捷菜單上的 "千分格式",再選擇快捷菜單上的 "退一位小數(shù)位" 即可。
2.如果B1單元此后還要再加入其他運(yùn)算,只要:
在B1單元,將原有內(nèi)容加入ROUND函數(shù)即可:=round(if(A1$#@62;5,6234*.05),2)
其中,最后一位數(shù)"2"代表你想要數(shù)據(jù)參與計(jì)算的結(jié)果截止到小數(shù)點(diǎn)后兩位,如果想要三位,直接改成"3"即可。
以上第一種方法只能達(dá)到顯示上的四舍五入,當(dāng)數(shù)據(jù)再次參與計(jì)算時(shí),將不會(huì)以四舍五入后的數(shù)值參與。第二種方法,當(dāng)數(shù)據(jù)再次參與計(jì)算時(shí),將以四舍五入后的數(shù)值(即其顯示在單元格中的數(shù)據(jù))參與計(jì)算。
技巧4:將鍵入的阿拉伯?dāng)?shù)字自動(dòng)轉(zhuǎn)換成人民幣大寫(xiě)金額
在使用EXCEL過(guò)程中,在制作財(cái)務(wù)憑證時(shí)經(jīng)常需要將數(shù)字表示為大寫(xiě)的數(shù)字金額,可用設(shè)置單元格格式的方法來(lái)實(shí)現(xiàn):
1.首先鼠標(biāo)右鍵單擊需要用大寫(xiě)金額顯示的單元格。
2.(*假設(shè)此單元格金額為123.50元*)→ 設(shè)置單元格格式 → 數(shù)字 → 自定義 → 在類(lèi)型框中輸入 [DBNum2]0“百”0“拾”0“元”0“角”“整” 即可將選中的單元格中的數(shù)字顯示為大寫(xiě)金額:(壹百貳拾叁元伍角整)。
(*假設(shè)此單元格金額為1234.51元*)→ 設(shè)置單元格格式 → 數(shù)字 → 自定義 → 在類(lèi)型框中輸入 [DBNum2]0“千”0“百”0“拾”0“元”0“角”0“分”“整” 即可將選中的單元格中的數(shù)字顯示為大寫(xiě)金額:(壹千貳百叁拾肆元伍角壹分整)。
第三篇:Excle使用心得
EXCEL使用技巧
01、如何在已有的單元格中批量加入一段固定字符?
例如:在單位的人事資料,在excel中輸入后,由于上級(jí)要求在原來(lái)的職稱(chēng)證書(shū)的號(hào)碼全部再加兩位,即要在每個(gè)人的證書(shū)號(hào)碼前再添上兩位數(shù)13,如果一個(gè)一個(gè)改的話實(shí)在太麻煩了,那么我們可以用下面的辦法,省時(shí)又省力:
1)假設(shè)證書(shū)號(hào)在A列,在A列后點(diǎn)擊鼠標(biāo)右鍵,插入一列,為B列;
2)在B2單元格寫(xiě)入: =“13” & A2 后回車(chē);
3)看到結(jié)果為 13xxxxxxxxxxxxx 了嗎?鼠標(biāo)放到B2位置,單元格的下方不是有一個(gè)小方點(diǎn)嗎,按著鼠標(biāo)左鍵往下拖動(dòng)直到結(jié)束。當(dāng)你放開(kāi)鼠標(biāo)左鍵時(shí)就全部都改好了。若是在原證書(shū)號(hào)后面加13 則在B2單元格中寫(xiě)入:=A2 & “13” 后回車(chē)。
02 用IF函數(shù)清除EXCEL工作表中的計(jì)算出現(xiàn)的0
=IF(K14*M14=0,“",K14*M14)該式所表示的含義為:如果單元格K14與M14內(nèi)數(shù)值的乘積為零,那么存放計(jì)算結(jié)果的單元格顯示為一個(gè)空白單元格;反之,單元格K14與M14內(nèi)數(shù)值的乘機(jī)為不為零,這兩個(gè)單元格的數(shù)值將被進(jìn)行乘積運(yùn)算。
06、在Excel中如何設(shè)置加權(quán)平均?
加權(quán)平均在財(cái)務(wù)核算和統(tǒng)計(jì)工作中經(jīng)常用到,并不是一項(xiàng)很復(fù)雜的計(jì)算,關(guān)鍵是要理解加權(quán)平均值其實(shí)就是總量值(如金額)除以總數(shù)量得出的單位平均值,而不是簡(jiǎn)單的將各個(gè)單位值(如單價(jià))平均后得到的那個(gè)單位值。在Excel中可設(shè)置公式解決(其實(shí)就是一個(gè)除法算式),分母是各個(gè)量值之和,分子是相應(yīng)的各個(gè)數(shù)量之和,它的結(jié)果就是這些量值的加權(quán)平均值。
07、如果在一個(gè)Excel文件中含有多個(gè)工作表,如何將多個(gè)工作表一次設(shè)置成同樣的頁(yè)眉和頁(yè)腳?如何才能一次打印多個(gè)工作表?
把鼠標(biāo)移到工作表的名稱(chēng)處(若你沒(méi)有特別設(shè)置的話,Excel自動(dòng)設(shè)置的名稱(chēng)是“sheet1、sheet2、sheet3.......”),然后點(diǎn)右鍵,在彈出的菜單中選擇“選擇全部工作表”的菜單項(xiàng),這時(shí)你的所有操作都是針對(duì)全部工作表了,不管是設(shè)置頁(yè)眉和頁(yè)腳還是打印你工作表。
15、如何快速選取工作表中所有包含公式的單元格?
有時(shí),需要對(duì)工作表中所有包含公式的單元格加以保護(hù),或填入與其他單元格不同的顏色,以提醒用戶注意不能在有此顏色的區(qū)域內(nèi)輸入數(shù)據(jù)。以下方法可以幫助快速選取所有包含公式的單元格:選擇“編輯”“定位”(F5),單擊“定位條件”按鈕,在“定位條件”對(duì)話框中選擇“公式”項(xiàng),按“確定”按鈕即可。
16、如何在不同單元格中快速輸入同一數(shù)內(nèi)容?
選定單元格區(qū)域,輸入值,然后按 Ctrl+ Ener鍵,即可實(shí)現(xiàn)在選定的單元格區(qū)域中一次性輸入相同的值。
17、只記得函數(shù)的名稱(chēng),但記不清函數(shù)的參數(shù)了,怎么辦?
如果你知道所要使用函數(shù)的名字,但又記不清它的所有參數(shù)格式,那么可以用鍵盤(pán)快捷鍵把
參數(shù)粘貼到編輯欄內(nèi)。
具體方法是:在編輯欄中輸入一個(gè)等號(hào)其后接函數(shù)名,然后按 Ctr+ A鍵,Excel則自動(dòng)進(jìn)入“函數(shù)指南——步驟 2之2”。當(dāng)使用易于記憶的名字且具有很長(zhǎng)一串參數(shù)的函數(shù)時(shí),上述方法顯得特別有用。
27、如何快速地將數(shù)字作為文本輸入?
在輸入數(shù)字前加一個(gè)單引號(hào)“’”,可以強(qiáng)制地將數(shù)字作為文本輸入。
35、如何使單元格中的顏色和底紋不打印出來(lái)?
對(duì)那些加了保護(hù)的單元格,還可以設(shè)置顏色和底紋,以便讓用戶一目了然,從顏色上看出那些單元格加了保護(hù)不能修改,從而可增加數(shù)據(jù)輸入時(shí)的直觀感覺(jué)。但卻帶來(lái)了問(wèn)題,即在黑白打印時(shí)如果連顏色和底紋都打出來(lái),表格的可視性就大打折扣。解決辦法是:選擇“文件”“頁(yè)面設(shè)置”“工作表”,在“打印”欄內(nèi)選擇“單元格單色打印”選項(xiàng)。之后,打印出來(lái)的表格就面目如初了。
37、“$”的功用
Excel一般使用相對(duì)地址來(lái)引用單元格的位置,當(dāng)把一個(gè)含有單元格地址的公式拷貝到一個(gè)新的位置,公式中的單元格地址會(huì)隨著改變。你可以在列號(hào)或行號(hào)前添加符號(hào) “$”來(lái)凍結(jié)單元格地址,使之在拷貝時(shí)保持固定不變。
38、如何用漢字名稱(chēng)代替單元格地址?
如果你不想使用單元格地址,可以將其定義成一個(gè)名字。
定義名字的方法有兩種:一種是選定單元格區(qū)域后在“名字框”直接輸入名字,另一種是選定想要命名的單元格區(qū)域,再選擇“插入”“名字”“定義”,在“當(dāng)前工作簿中名字”對(duì)話框內(nèi)鍵人名字即可。使用名字的公式比使用單元格地址引用的公式更易于記憶和閱讀,比如公式“=SUM(實(shí)發(fā)工資)”顯然比用單元格地址簡(jiǎn)單直觀,而且不易出錯(cuò)。
39、如何在公式中快速輸入不連續(xù)的單元格地址?
在SUM函數(shù)中輸入比較長(zhǎng)的單元格區(qū)域字符串很麻煩,尤其是當(dāng)區(qū)域?yàn)樵S多不連續(xù)單元格區(qū)域組成時(shí)。這時(shí)可按住Ctrl鍵,進(jìn)行不連續(xù)區(qū)域的選取。區(qū)域選定后選擇“插入”“名字”“定義”,將此區(qū)域命名,如Group1,然后在公式中使用這個(gè)區(qū)域名,如“=SUM(Group1)”。
42、工作表名稱(chēng)中能含有空格嗎?
能。例如,你可以將某工作表命名為“Zhu Meng”。有一點(diǎn)結(jié)注意的是,當(dāng)你在其他工作表中調(diào)用該工作表中的數(shù)據(jù)時(shí),不能使用類(lèi)似“= Zhu Meng!A2”的公式,否則 Excel將提示錯(cuò)誤信息“找不到文件Meng”。解決的方法是,將調(diào)用公式改為“='Zhu Mg'!A2”就行了。當(dāng)然,輸入公式時(shí),你最好養(yǎng)成這樣的習(xí)慣,即在輸入“=”號(hào)以后,用鼠標(biāo)單由 Zhu Meng工作表,再輸入余下的內(nèi)容。
46、如何減少重復(fù)勞動(dòng)?
我們?cè)趯?shí)際應(yīng)用Excel時(shí),經(jīng)常遇到有些操作重復(fù)應(yīng)用(如定義上下標(biāo)等)。為了減少重復(fù)勞動(dòng),我們可以把一些常用到的操作定義成宏。其方法是:選取“工具”菜單中的“宏”命令,執(zhí)行“記錄新宏”,記錄好后按“停止”按鈕即可。也可以用VBA編程定義宏。
47、如何快速地批量修改數(shù)據(jù)?
假如有一份 Excel工作簿,里面有所有職工工資表。現(xiàn)在想將所有職工的補(bǔ)貼增加50(元),當(dāng)然你可以用公式進(jìn)行計(jì)算,但除此之外還有更簡(jiǎn)單的批量修改的方法,即使用“選擇性粘貼”功能: 首先在某個(gè)空白單元格中輸入50,選定此單元格,選擇“編輯”“復(fù)制”。選取想修改的單元格區(qū)域,例如從E2到E150。然后選擇“編輯”“選擇性粘貼”,在“選擇性粘貼”對(duì)話框“運(yùn)算”欄中選中“加”運(yùn)算,按“確定”健即可。最后,要?jiǎng)h除開(kāi)始時(shí)在某個(gè)空白單元格中輸入的50。
48、如何快速刪除特定的數(shù)據(jù)?
假如有一份Excel工作薄,其中有大量的產(chǎn)品單價(jià)、數(shù)量和金額。如果想將所有數(shù)量為0的行刪除,首先選定區(qū)域(包括標(biāo)題行),然后選擇“數(shù)據(jù)”“篩選”“自動(dòng)篩選”。在“數(shù)量”列下拉列表中選擇“0”,那么將列出所有數(shù)量為0的行。此時(shí)在所有行都被選中的情況下,選擇“編輯”“刪除行”,然后按“確定”即可刪除所有數(shù)量為0的行。最后,取消自動(dòng)篩選。
49、如何快速刪除工作表中的空行?
以下幾種方法可以快速刪除空行:
方法一:如果行的順序無(wú)關(guān)緊要,則可以根據(jù)某一列排序,然后可以方便地刪掉空行。方法二:如果行的順序不可改變,你可以先選擇“插入”“列”,插入新的一列入在A列中順序填入整數(shù)。然后根據(jù)其他任何一列將表中的行排序,使所有空行都集中到表的底部,刪去所有空行。最后以A列重新排序,再刪去A列,恢復(fù)工作表各行原來(lái)的順序。
方法三:使用上例“如何快速刪除特定的數(shù)據(jù)”的方法,只不過(guò)在所有列的下拉列表中都選擇“空白”。
50、如何使用數(shù)組公式?
Excel中數(shù)組公式非常有用,它可建立產(chǎn)生多值或?qū)σ唤M值而不是單個(gè)值進(jìn)行操作的公式。要輸入數(shù)組公式,首先必須選擇用來(lái)存放結(jié)果的單元格區(qū)域,在編輯欄輸入公式,然后按ctrl+Shift+Enter組合鍵鎖定數(shù)組公式,Excel將在公式兩邊自動(dòng)加上括號(hào)“{}”。不要自己鍵入花括號(hào),否則,Excel認(rèn)為輸入的是一個(gè)正文標(biāo)簽。要編輯或清除數(shù)組公式.需選擇數(shù)組區(qū)域并且激活編輯欄,公式兩邊的括號(hào)將消失,然后編輯或清除公式,最后按Ctrl+shift+Enter鍵。
52、在Excel中用Average函數(shù)計(jì)算單元格的平均值的,值為0的單元格也包含在內(nèi)。有沒(méi)有辦法在計(jì)算平均值時(shí)排除值為0的單元格?
方法一:如果單元格中的值為0,可用上例“0值不顯示的方法”將其內(nèi)容置為空,此時(shí)空單元格處理成文本,這樣就可以直接用Average函數(shù)計(jì)算了。
方法二:巧用Countif函數(shù) 例如,下面的公式可計(jì)算出b2:B10區(qū)域中非0單元格的平均值: =sum(b2: b10)/countif(b2: b1o,”<>0")
三、讓不同類(lèi)型數(shù)據(jù)用不同顏色顯示
在工資表中,如果想讓大于等于2000元的工資總額以“紅色”顯示,大于等于1500元的工資總額以“藍(lán)色”顯示,低于1000元的工資總額以“棕色”顯示,其它以“黑色”顯示,我們可以這樣設(shè)置。
1.在工作簿中,選中“工資總額”所在列,執(zhí)行“格式→條件格式”命令,打開(kāi)“條件
格式”對(duì)話框。單擊第二個(gè)方框右側(cè)的下拉按鈕,選中“大于或等于”選項(xiàng),在后面的方框中輸入數(shù)值“2000”。單擊“格式”按鈕,打開(kāi)“單元格格式”對(duì)話框,將“字體”的“顏色”設(shè)置為“紅色”。(在Excle07中 開(kāi)始----樣式---條件格式 下面設(shè)置)
2.按“添加”按鈕,并仿照上面的操作設(shè)置好其它條件(大于等于1500,字體設(shè)置為“藍(lán)色”;小于1000,字體設(shè)置為“棕色”)。
3.設(shè)置完成后,按下“確定”按鈕。
第四篇:CAD使用心得之一
CAD使用心得之一--CAD使用的三個(gè)基本方面:清晰、準(zhǔn)確、高效
(2012-07-02 10:49:16)
很多CAD的教材,如果對(duì)照著學(xué)習(xí)的話,確實(shí)都能夠在一定程度上掌握這個(gè)軟件,如果到工作崗位,也都能勉勉強(qiáng)強(qiáng)的開(kāi)始畫(huà)圖。但是,這遠(yuǎn)遠(yuǎn)不夠,從書(shū)本到實(shí)戰(zhàn),還有一大段距離。因此,將收集的有關(guān)于使用CAD的一系列心得體會(huì)發(fā)出來(lái)與大家分享。
CAD使用心得連載之一
——CAD使用的三個(gè)基本方面:清晰、準(zhǔn)確、高效
目前,設(shè)計(jì)公司的設(shè)計(jì)文件,特別是圖紙,都是用CAD軟件繪制的,但是還有很多人對(duì)CAD并不是非常熟悉,或者說(shuō)使用起來(lái)并非得心應(yīng)手,以至于效率并不是很高,可以說(shuō),繪制同樣的一張圖紙,速度快的和慢的在耗時(shí)上可能會(huì)相差好幾倍。同時(shí),每個(gè)人繪制出來(lái)的圖紙看上去感覺(jué)都不盡相同:有些圖紙看上去一目了然、清晰漂亮,而有些圖紙不但表達(dá)不清,甚至可以用慘不忍睹來(lái)形容。
不知大家認(rèn)為,使用CAD畫(huà)圖最重要的是什么?對(duì)這個(gè)問(wèn)題,每個(gè)人都有可能理解不同,但在我看來(lái),最重要的是時(shí)時(shí)刻刻記住自己使用CAD畫(huà)圖的目的是什么。
我們進(jìn)行工程設(shè)計(jì),不管是什么專(zhuān)業(yè)、什么階段,實(shí)際上都是要將某些設(shè)計(jì)思想或者是設(shè)計(jì)內(nèi)容,表達(dá)、反映到設(shè)計(jì)文件上。而圖紙,就是一種直觀、準(zhǔn)確、醒目、易于交流的表達(dá)形式。所以我們完成的東西(不管是最終完成的設(shè)計(jì)成果,還是作為條件提交給其它專(zhuān)業(yè)的過(guò)程文件,一定需要能夠很好的幫助我們表達(dá)自己的設(shè)計(jì)思想、設(shè)計(jì)內(nèi)容。
有了這個(gè)前提,我們就應(yīng)該明白,好的CAD圖紙應(yīng)該具有以下兩個(gè)特征:清晰、準(zhǔn)確。清晰,就是需要表達(dá)的東西必須清楚明了。好的圖紙,看上去一目了然。構(gòu)件表達(dá)、尺寸標(biāo)注、文字說(shuō)明清清楚楚,互不重疊??除了圖紙打印效果清晰以外,在屏幕上的顯示也必須清晰。圖面清晰除了能清楚表達(dá)設(shè)計(jì)思路和設(shè)計(jì)內(nèi)容外,也是提高繪圖速度的基礎(chǔ)。準(zhǔn)確,就是標(biāo)注不能錯(cuò)誤,指示不能模糊。制圖準(zhǔn)確不僅是為了好看,更重要的是可以直觀的反映一些圖面問(wèn)題,對(duì)于提高繪圖速度也有重要的影響,特別是在圖紙修改時(shí)。我們?cè)谑褂肅AD繪圖時(shí),無(wú)時(shí)無(wú)刻都應(yīng)該把以上兩點(diǎn)銘刻在心。只有做到這兩點(diǎn),才能說(shuō)在繪圖方面基本過(guò)關(guān)。
圖面表示要“清晰”、“準(zhǔn)確”,而在繪圖過(guò)程中,還有同樣重要的一點(diǎn),就是“高效”。能夠高效繪圖,好處不用多說(shuō)。
清晰、準(zhǔn)確、高效是CAD軟件使用的三個(gè)基本點(diǎn)。在CAD軟件中,除了一些最基本的繪圖命令外,其他的各種編輯命令、各種設(shè)置定義,可以說(shuō)都是圍繞著清晰、準(zhǔn)確、高效這三方面來(lái)編排的。我們?cè)趯W(xué)習(xí)CAD中的各項(xiàng)命令、各種設(shè)置時(shí),都要思考一下,它們能在這三個(gè)方面起到那些作用;在使用時(shí)應(yīng)該注重什么;在什么情況和條件下,使用這些命令最為合適。
第五篇:STM32使用心得
stm32使用心得
第一次使用stm32,以前用過(guò)
51、avr、pic、2812,感覺(jué)stm32還真有點(diǎn)不一樣,呵呵。
因?yàn)槭堑谝淮问褂茫旅嬲f(shuō)的肯定有不少錯(cuò)誤,誠(chéng)心求大家指正。
這次做的是用stm32f103zd+lattice 的lc4256v做一個(gè)波形發(fā)生器。通過(guò)上位機(jī)可以控制生成波形的頻率,然后stm32根據(jù)頻率計(jì)算波形占空比數(shù)據(jù),通過(guò)總線形式傳給cpld,然后cpld把這些數(shù)據(jù)轉(zhuǎn)換成相對(duì)應(yīng)占空比的pwm輸出,外部接RC濾波電路,產(chǎn)生相對(duì)應(yīng)的波形。由于頻率范圍較大,計(jì)算量也比較大,所以采用了stm32+cpld的結(jié)構(gòu)。Stm32運(yùn)行在72MHZ,通過(guò)mco腳給cpld 36M HZ的時(shí)鐘,stm32和cpld通過(guò)總線方式通信。
此系統(tǒng)中Stm32主要用到的資源是:一個(gè)UART,一個(gè)TIMER及其中斷,F(xiàn)SMC和DMA。
本人總結(jié)了下,Stm32初始化一個(gè)片內(nèi)外設(shè)一般過(guò)程一般有以下幾部分:
1.InitStructure配置及初始化
2.時(shí)鐘使能
3.相對(duì)應(yīng)的IOInitStructure配置及初始化
4.相對(duì)應(yīng)的IO時(shí)鐘使能
5.外設(shè)使能
6.中斷配置及中斷程序編寫(xiě)
下面介紹一下自己所用的UART、TIMER、FSMC、DMA的初始化。
UART初始化:
此系統(tǒng)中使用的是UART2,未用UART中斷。UART初始化主要有:IO初始化,UART InitSturcture初始化,UART時(shí)鐘使能,UART使能。程序如下: GPIO_InitTypeDef GPIO_InitStructure;
// Configure USART2_Tx as alternate push-pull
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// Configure USART2_Rx as input floating
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//IO時(shí)鐘使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
USART_InitTypeDef USART_InitStructure;
/* USART2 configured as follow:
-BaudRate = 9600 baud
-Word Length = 8 Bits
-One Stop Bit
-No parity
-Hardware flow control disabled(RTS and CTS signals)
-Receive and transmit enabled
*/
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
/* Configure the USART2*/
USART_Init(USART2, &USART_InitStructure);
//UART時(shí)鐘使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
/* Enable the USART2 */
USART_Cmd(USART2, ENABLE);
TIMER初始化
使用的是TIM2。初始化主要包括TIM2 InitSturcture初始化,時(shí)鐘使能,TIM2開(kāi)啟,中斷配置,及中斷服務(wù)程序編寫(xiě)。此TIM2作用主要是給DMA提供時(shí)鐘,DMA在TIM2 UP時(shí)啟動(dòng)一次DMA發(fā)送過(guò)程。TIM2程序如下:
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
//定時(shí)器2
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
TIM_TimeBaseStructure.TIM_Period = 33;
TIM_TimeBaseStructure.TIM_Prescaler = 71;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearFlag(TIM2,TIM_FLAG_Update);
TIM_ARRPreloadConfig(TIM2,ENABLE);
TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);
TIM_Cmd(TIM2, ENABLE);
//中斷配置
/* Enable the TIM2 gloabal Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//定時(shí)器2中斷服務(wù)程序
void TIM2_IRQHandler(void)//這個(gè)函數(shù)可以在文件stm32f10x.c文件中查找到 {
TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
}
FSMC初始化
FSMC主要用來(lái)和CPLD進(jìn)行總線通信,由DMA方式發(fā)送,在TIM2計(jì)時(shí)時(shí)間到后啟動(dòng)一次DMA發(fā)送,發(fā)送的數(shù)據(jù)由已計(jì)算好的數(shù)組中的一個(gè)16位數(shù)據(jù)以16位方式發(fā)給FSMC的地址。由于此系統(tǒng)電路已固定,stm32與CPLD間數(shù)據(jù)線是8位,故在向FSMC地址寫(xiě)16位數(shù)據(jù)時(shí),F(xiàn)SMC會(huì)將數(shù)據(jù)拆成2部分發(fā)送。本人在實(shí)際編程時(shí)發(fā)現(xiàn),如向*(volatile u16*)(Bank1_NOR4_ADDR+0x40)地址給CPLD寫(xiě)16位數(shù)據(jù)時(shí),會(huì)在40h接收到低8位數(shù)據(jù),在41h接收到高8位數(shù)據(jù)。按道理來(lái)說(shuō)這些數(shù)據(jù)應(yīng)該與NBL0, NBL1信號(hào)有關(guān),本人在CPLD編程時(shí)未理會(huì)這個(gè),具體時(shí)序不是很清楚,有待考究。
FSMC初始化程序如下:
FSMC_NORSRAMInitTypeDefFSMC_NORSRAMInitStructure;
FSMC_NORSRAMTimingInitTypeDefp;
p.FSMC_AddressSetupTime = 3;//6
p.FSMC_AddressHoldTime = 0;//3
p.FSMC_DataSetupTime = 8;//25
p.FSMC_BusTurnAroundDuration = 0;
p.FSMC_CLKDivision = 0;
p.FSMC_DataLatency = 0;
p.FSMC_AccessMode = FSMC_AccessMode_A;
FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b;
FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
FSMC_NORSRAMInitStructure.FSMC_AsyncWait = FSMC_AsyncWait_Disable;
FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);
FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);
//IO初始化
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOG | RCC_APB2Periph_GPIOE |
RCC_APB2Periph_GPIOF, ENABLE);
/*--GPIO Configuration-----------------------*/
/* SRAM Data lines configuration */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 |
GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 |
GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 |
GPIO_Pin_15;
GPIO_Init(GPIOE, &GPIO_InitStructure);
/* SRAM Address lines configuration */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12 | GPIO_Pin_13 |GPIO_Pin_14 | GPIO_Pin_15;
GPIO_Init(GPIOF, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |
GPIO_Pin_4 | GPIO_Pin_5;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;GPIO_Init(GPIOD, &GPIO_InitStructure);
/* NOE and NWE configuration */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 |GPIO_Pin_5;
GPIO_Init(GPIOD, &GPIO_InitStructure);
/* NE4 configuration */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_Init(GPIOG, &GPIO_InitStructure);
/* NBL0, NBL1 configuration */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
GPIO_Init(GPIOE, &GPIO_InitStructure);
此處簡(jiǎn)單介紹一下FSMC總線方式的使用。
FSMC初始化完了之后,進(jìn)行如下定義,#define Bank1_NOR4_ADDR((u32)0x6c000000)
#define cs_sin*(volatile u16*)(Bank1_NOR4_ADDR+0x40)
然后cs_sin=1000就是往這個(gè)地址寫(xiě)數(shù)字1000=0x03e8,則cpld 40h地址收到數(shù)據(jù)為0xe8,41h收到的數(shù)據(jù)為0x03
i=cs_sin,就是讀這個(gè)地址的數(shù)據(jù),由于定義的是16位的數(shù)據(jù)地址,故讀到的數(shù)據(jù)是40h為低8位數(shù)據(jù),41h為高8位數(shù)據(jù)
DMA初始化:
DMA在TIM2 UP時(shí)觸發(fā),將已經(jīng)計(jì)算好放在數(shù)組dat_tocpld的16位數(shù)據(jù)發(fā)送到fsmc地址為(Bank1_NOR4_ADDR+0x40)的空間。
初始化程序如下:
DMA_InitTypeDef DMA_InitStructure;
DMA_DeInit(DMA1_Channel2);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
/* Enable TIM2 DMA interface */
TIM_DMACmd(TIM2, TIM_DMA_Update, ENABLE);
DMA_InitStructure.DMA_PeripheralBaseAddr =(u32)(Bank1_NOR4_ADDR+0x
40);
DMA_InitStructure.DMA_MemoryBaseAddr =(u32)dat_tocpld;
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST;
DMA_InitStructure.DMA_BufferSize = 1152;
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
DMA_InitStructure.DMA_PeripheralDataSize =DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority = DMA_Priority_High;
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
DMA_Init(DMA1_Channel2, &DMA_InitStructure);
/* Enable DMA1 Channel2 */
DMA_Cmd(DMA1_Channel2, ENABLE);
最后附上源自http://sxqstudy.blog.163.com/blog/static/***03148709/介紹的關(guān)于PWM電壓轉(zhuǎn)換電路。
在PWM用于DA轉(zhuǎn)換的場(chǎng)合,阻容濾波電路是關(guān)系轉(zhuǎn)換效果的重要環(huán)節(jié)。
由RC充放電常數(shù)我們可以大致計(jì)算出阻容環(huán)節(jié)的充放電頻率,一般為了得到理想的濾波效果,這個(gè)頻率要遠(yuǎn)小于PWM的輸出頻率(小于四分之一)。
一般情況下,當(dāng)C較小R較大時(shí),DA轉(zhuǎn)換出的電壓損耗很小,但是紋波卻很大;當(dāng)C較大R較小時(shí),DA轉(zhuǎn)換出的電壓損耗很大,但紋波相對(duì)較小。
所以當(dāng)需要進(jìn)行線形度很高的精確DA轉(zhuǎn)換時(shí)必須使用較小的濾波電容,且盡量避免使用電解類(lèi)電容。而為了得到較強(qiáng)的信號(hào)輸出,RC慣性環(huán)節(jié)之后還必須加一級(jí)高性能的電壓跟隨,然后在跟隨器輸出的地方加上一個(gè)濾波用的電解電容,用于平滑RC慣性環(huán)節(jié)的紋波。但是這還不夠,因?yàn)檫@時(shí)的輸出電壓里可能含有較多的交流諧波成分,如果處理不當(dāng),跟隨器有可能自激。解決的辦法就是使用一個(gè)小的去藕電容。而且這里電容的放置順序必須是電解電容在前,去藕電容在后!
如果輸出電壓精度和線形度要求不高,但是對(duì)紋波要求卻很高,或者這個(gè)電壓比較固定時(shí),可以使用電容較大的濾波組合。因?yàn)椋m然大電容的直流損耗較大,但是我們可以通過(guò)調(diào)節(jié)PWM占空比來(lái)達(dá)到要求的輸出電壓,或者通過(guò)一級(jí)AD轉(zhuǎn)換的反饋來(lái)實(shí)現(xiàn)精確的固定電壓輸出。只是這里仍然要加一級(jí)電壓跟隨器,以便于后級(jí)采集電路使用,且AD采集點(diǎn)放置在跟隨器輸出處。