第一篇:CFAK使用心得分享
AK這把槍,為人說熟知,雖說遠不如M4A1普及性強,技巧性卻遠高于M4。CF將其定位于下士方能購買,相信也有一部分是從技術方面考慮的。單純的新手,接觸CF,到了下士的時候基本上熟悉了這款游戲,這時候才能試著去使用AK。
AK的后坐力很強,難能可貴的是在強大的威力,后坐力,上保持了較強的穩定性。射速相對于M4等其他步槍,算是較慢的,穿透力,威力較強,基本無視AC,但由于射速不快,若是穿透殺人則效果遜色其他步槍。近身時,效果也較差,同樣是射速問題。當然如果壓槍水平高的話,也可以在近身發揮較大威力。這是個人技術上的了與槍無關。同等技術水平,近身,自然是M4等槍械效果好。
AK主要適用于中遠程距離,以點射為主,最好兩個子彈為一輪,超過兩個子彈,準心,受強大后坐力的影響,較難控制。這是相對純爆頭打法。基本上不必像其他步槍需要頻繁的去換子彈,個人使用AK,除非子彈五個以下,一般不換子彈。通常相對于熟悉這把槍械的人來說,五個子彈,應付正面一個敵人,足夠了。由于后坐力,以及穩定性,中遠程爆頭相對其他槍械,較為容易。
應該有許多朋友是因為后坐力這個原因,而無法良好的掌握這把槍,建議盡量點射,最好以一到三個子彈一停頓。這樣容易控制。并且由于威力較大,基本只要命中上半身三個子彈,就可以解決敵人。如果可以控制好位置,基本兩個子彈,一般會出現爆頭。近身的時候不要亂,不要急,許多朋友都是,一近身,就掃射,其實不必著急,尋找好準心,再打,效率會比你掃射高的多。壓槍水平在高,近身也必然會留下一些空隙,高手也就是縮短了這個過程。
所以,用AK的時候,建議近身不亂,依然點射,當然這要打爆頭,要是打身體,除非對方的槍械射速也不快,否則必然吃虧。遠程時,應對狙擊,AK可以命中可以造成強大的吸力,基本上命中第一個子彈,狙擊就逃不掉了。除非離掩體太近。
用一顆顆子彈控制節奏,打亂狙擊的節奏。自己若是沒甚節奏,便談不上打亂別人節奏。曾經用AK在爆破,沙灰,三回合點殺十五人,全是爆頭,結果被人說是自動爆頭的。這也是CF這款游戲的無奈所在了。
第二篇:EXCEL使用心得
一、讓格式自動添加固定的數字
例子:
大家知道,身份證號碼的前6位,是省、市、區(縣)的代號(如“340505”等),如果持證人是同一區(縣)的,輸入這樣的的身份證號碼,可以讓“數字”標簽幫你減輕輸入的工作量:選中需要輸入身份證號碼的單元格(區域),打開“單元格格式”對話框,進入“數字”標簽,在“分類”下面選中“自定義”選項,然后在右側“類型”下面的方框中輸入:“340505”@,確定退出。以后輸入身份證號碼7位及以后的數字(如“198903040611”)后,系統會自動在前面加上相應的代碼,形成完整的身份證號碼(如“***611”)。
二.教你使用Excel數組公式
Excel中數組公式非常有用,尤其在不能使用工作表函數直接得到結果時,數組公式顯得特別重要,它可建立產生多值或對一組值而不是單個值進行操作的公式。
輸入數組公式首先必須選擇用來存放結果的單元格區域(可以是一個單元格),在編輯欄輸入公式,然后按Ctrl+Shift+Enter組合鍵鎖定數組公式,Excel將在公式兩邊自動加上花括號“{}”。注意:不要自己鍵入花括號,否則,Excel認為輸入的是一個正文標簽。
選取數組公式所占有的全部區域先選中區域中任意一個單元格,然后按下Ctrl+/鍵即可。編輯或刪除數組公式編輯數組公式時,須選取數組區域并且激活編輯欄,公式兩邊的花括號將消失,然后編輯公式,最后按Ctrl+Shift+Enter鍵。選取數組公式所占有的全部區域后,按Delete鍵即可刪除數組公式。
數組常量的使用數組公式中還可使用數組常量,但必須自己鍵入花括號“{}”將數組常量括起來,并且用“,”和“;”分離元素。其中“,”分離不同列的值,“;”分離不同行的值。
使用不在工作表中的數組有時,公式僅占用一個單元格時也需要以數組的方式輸入。其具體原則是:一個公式使用了數組,并且這個數組不在工作表上,就應該使用數組的方式輸入這個公式。
下面介紹兩個使用數組公式的例子。
1.如需分別計算各商品的銷售額,可利用數組公式來實現。
單元格F2中的公式為:{=SUM(IF(A2:A11=″商品1″,B2:B11*C2:C11,0))}。這個數組公式創建了一個條件求和,若在A2:A11中出現值“商品1”,則數組公式將B2:B11和C2:C11中與其相對應的值相乘并累加,若是其他值則加零。同時,雖然數組B2:B11和C2:C11均在工作表中,但其相乘的數組B2:B11*C2:C11不在工作表中,因此必須使用數組公式。
2.假設要將A1:A50區域中的所有數值舍入到2位小數位,然后對舍入的數值求和。很自然地就會想到使用公式:=ROUND(A1,2)+ROUND(A2,2)+…+ROUND(A50,2)。
有沒有更簡捷的算法呢?有。因為數組ROUND(A1:A50,2)并不在工作表中,因此要使用數組的方式輸入公式,即:{=SUM(ROUND(A1:A50,2))}。
三、自動更正
1.從工具菜單中選擇“自動更正”,打開自動更正對話框。
2.在“替換”框中輸入數據,如:“4z”,在“替換為”框中輸入數據,如:“棗陽市第四中學”,單擊“添加”,再單擊 “確定”。
之后,只需在單元格中輸入“4z”兩字,即會自動更正為“棗陽市第四中學”。
四、在excel工作表中輸入計算公式時,如果想讓儲存格在顯示計算結果和計算公式本身之間切換,您會采取什么方式呢?
是不是每次都從“工具”>“選項”>“視圖”>“窗口選項”>“公式”來切換呢?有沒有更簡便的方法呢?
其實,我們可以利用“ Ctrl+` ”鍵來決定顯示或隱藏公式,每按一次就可讓儲存格在顯示計算的結果和計算公式本身之間自由切換。
五、快速錄入文本文件中的內容
現在您手邊假如有一些以純文本格式儲存的文件,如果此時您需要將這些數據制作成Excel XP的工作表,那該怎么辦呢?重新輸入一遍,太浪費時間;將菜單上的數據一個個復制到工作表中,同樣也費事。這時!您只要在Excel XP中巧妙使用其中的文本文件導入功能,就可以大大減輕需要重新輸入或者需要不斷復制、粘貼的巨大工作量了。使用該功能時,您只要在Excel XP編輯區中,選定菜單欄中的“數據/獲取外部數據/導入文本文件”命令,然后在導入文本會話窗口選擇要導入的文本文件,按下“導入”鈕以后,程序會彈出一個文本導入向導對話框,您只要按照向導的提示進行操作,就可以把以文本格式的數據轉換成工作表的格式了。
六、行列轉置
假如A1-A10單元格中有不同的內容,現在需要將這些內容分別排列在A1、B1、C1、D1...J1單元格中,即將原來在同一列中的內容重新排列在一行中。難道要一個一個單元格去復制粘貼嗎?完全不用。
首先,選中A1-A10單元格,單擊右鍵,在彈出的菜單中選擇“復制”命令;接著單擊B1單元格,再單擊右鍵,在彈出的菜單中選擇“選擇性粘貼”命令,彈出對話框,選擇其中的復選項“轉置”,點擊確定。這時你會看到B1、C1....K1單元格中已有了A1-A10單元格中的內容,將A列選中,在右鍵菜單中刪除,此時行列轉換工作就完成了。
七、在Excel2000中設計彩色數字
在你使用Excel2000對一張工作表中的數據進行處理時,有時是不是希望其中某些數據能夠有自己特殊的顯示格式?比如,現在你有如圖的一張Excel工作表,在“總成績”一欄中,你需要小于120的顯示為藍色,大于120的顯示為紅色。下述的方法,可以讓你的愿望變為現實。該方法是:
1.選中D25的單元格區域。
2.單擊“格式”菜單中的“單元格”命令,然后單擊“數字”選項卡。
3.單擊“分類”列表中的“自定義”選項,在“類型”框中鍵入“[藍色][<120];[紅色][>=120]”。
4.單擊“確定”按鈕。
怎么樣,Excel按你的要求顯示出不同顏色的數字了吧?
最后,對在“類型”框中鍵入的數字格式代碼進行簡單地說明,“[藍色]”是對數據顯示顏色的設置,除“紅色”、“藍色”外,還可使用六種顏色,它們是黑色、青色、綠色、洋紅、白色、黃色。“[>=120]”是條件設置,可用的條件運算符有:>、<、>=、<=、=、<>。當有多個條件設置時,各條件設置以分號“;”間隔。
八、減少修改EXCEL參數的秘籍
在此處設計好的公式,拿到彼處用時,大部分不會完全合適,往往要修改公式中的參數.特別是函數中引用的單元格區域,往往需要修改.所以這里就以單元格區域為例,介紹一種減少或者是避免參數修改的辦法.雖然說不上"萬能",但將公式任意粘貼而基本不用修改是確實能辦到的.
一個單元格、或者由許多單元格組成的單元格集合都可以作為一個區域,并可以命名一個名字。這許多朋友都知道。但對合理恰當地使用命名區域帶來的方便,許多朋友或者是不重視,或者是覺得麻煩而較少使用。不過要實現上面的目標,我建議大家還是盡可能使用命名的區域。其好處如下:
1、直觀易記,區域很多時,形式如(B2:M50)的名字既不好記憶,也難以一下子斷定意義,反之,使用區域名字,特別是用中文作為區域名字時,能見文知義,大大減輕了記憶負
擔。例如,將區域(B2:M50)命名為“三甲物理分”,一見名字就明白意思.
2、如果某一區域需要在多個公式中使用,采用區域命名會很方便。例如函數中需要引用“三甲物理分”這個區域時,可以直接拿它當參數.如果想得到那種一次設計,多次重用的“計算模板”,則更是非將區域命名不可。
3、如果區域的范圍需要擴大或縮小,只需要將原來的名字重新命名一下,而原來使用的函數參數不必改動。例如,要統計上面區域中有效數字的個數,用的公式是:=COUNT(三甲物理分)(注意函數括號內的區域名字不用加雙引號);當需要把該區域擴大或縮小時,可以先將原有的區域名字“三甲物理分”刪除,然后重新選定合適的范圍再次用這個名字命名,而所有以“三甲物理分”作參數的函數均不須修改而仍能使用。
乍一看這好像就不錯了,其實,這還不算完善.
前已述及,當函數移到別的地方使用時,其參數一般需要修改。比如要用上面的公式計算二乙班物理成績的有效數字個數時(這里假設你已經將相應區域命名為“二乙物理分”),則函數中用到區域參數又都要修改為“二乙物理分”。可以推知,即使是只修改這一處參數,在處理很多學科時(因為每個班級可能進行多個學科的考試),修改參數的工作量也很大,況且實際計算中往往同時使用多個公式,更導致參數修改的工作量成幾倍增加。以某中學三個年級24個教學班為例,假如每個年級考試5個學科,要求計算出每班各個學科的最高分、平均分、整個年級的前百強學生等項目.這些活兒就是讓你用上? 命名的法寶,手工修改參數也會磨壞你的手指!
怎樣才能減少修改的工作量、甚至做到不修改參數就能用呢?這就得需要在函數內間接引用參數。請往下看
A B C三甲物理分 三乙物理分 三甲語文分AVERAGE(三甲物理分)=AVERAGE(三甲物理分)=AVERAGE(三甲物理分)AVERAGE(INDIRECT(A1))AVERAGE(INDIRECT(B1))AVERAGE(INDIRECT(C1))假設先設計好EXCEL工作表,將準備處理的數據區域都進行命名,并把名字依次輸入到表中第一行的各個單元格,類似下表那樣.為了對兩種方法進行比較,我們先在A2單元格中輸入公式:=AVERAGE(三甲物理分),可得出三甲班的物理平均分,結果也正確,缺點就是像上面說的,將公式粘貼在B2、C2單元格中時,括號中的參數并不會自動取出第一行里對應的名字,還需要用手工一一修改!如何讓它能"自動"引用正確的參數、即能"自動"引用第一行對應單元格里的文字呢?可以使用函數INDIRECT().
在EXCEL中,函數INDIRECT()的作用比較特殊.其作用介紹如下:例如已知存放在A1單元格中的文字"三甲物理分"是一個區域名字,當用INDIRECT(A1)函數時,可以通過A1單元格獲得對"三甲物理分"區域的引用.好!下面我們驗證一下:請你在上表中的A3單元格中輸入:=AVERAGE(INDIRECT(A1)),從得出的結果看,與A2單元格中使用的公式結果相同.從公式的組成看,多了函數INDIRECT(A1),省去了區域名字!注意,這就是激動人心的關鍵點了:當你用鼠標拖拽的辦法向右邊單元格粘貼這個公式后,會發現這些單元格中的公式已經"自動"地引用了相應區域的名字,你連一個參數也不用修改就得出了正確結果!??這不正是實現了我們苦苦追求的目標嗎?怎么樣,很爽吧?
感謝你有耐心看到這里,下面我再送你一個"秘密武器"
上面介紹的那個有功勞的函數是INDIRECT(),它是解決名字引用的,當要引用的單元格中是數值時,它就不管用了.能引用單元格數值的是另一個函數VALUE()。它的用法是:如果在A2單元格中存放有數字85,那么在A3單元格輸入:=VALUE(A2),在A3中也能得到85這個數字。要只是這樣的代換顯然意義不大,但把它用在公式中后意義就大不一樣了。看下表:第二行中的數字是該學科達到“優秀”的分
A B C
三乙物理分 三乙物理分 三甲語文分
80
=COUNTIF(INDIRECT(A1,),“$#@62;=”&VALUE(A2))
DIRECT(B1,),“$#@62;=”&VALUE(B2))=COUNTIF(IN A
=COUNTIF(INDIRECT(C1,),“$#@62;=”&VALUE(C2))
數線,我們的目的是:在第三行中根據該學科的分數線求出該學科達到優秀成績的人數.由于不同學科劃定優秀的分數線一般也不同.要是直接了當的話,在A3中使用公式=COUNTIF((INDIRECT(A1,),“$#@62;=85”)就可以,但這樣用到B列又會遇到類似上面的修改參數問題。要也像上面那樣能"自動"引用第二行中的分數線該多好啊!別急,把VALUE()函數用上就成了!我們把A3中的公式改成:=COUNTIF(INDIRECT(A1,),“$#@62;=”&VALUE(A2)).請你把這個公式向右面粘貼,可以發現,不用修改任何參數就能"自動"地引用正確的單元格了.
如果你能夠熟練應用INDIRECT()和VALUE()這兩個函數,再加上區域命名的法寶,會給你帶來不小的方便!
至于制作能多次使用的計算"模板",我采用的是很懶也很容易的方法:將上一次用過的EXCEL文件用"另存為"作個備份,然后打開,只將原始數據清去,其他全部保留,就成了一個"模板".這樣,只需要輸入原始數據,立即會得到結果,免去了輸入公式,設計格式等一大堆麻煩.
九、技巧1:給別人看,但不給別人動
辛辛苦苦地設計了一個數據庫或者表格,卻被別人毛手毛腳地搞亂了,是不是很惱火?如果 是私人文件還好,只要設個密碼就可以了,偏偏這是要別人往里面填數據或者是要給大家參考的,往往由于他人的“不小心”,而導致自己要重做整個表格,這種事情不知道大家遇到沒有,我可是遇到過,辛苦加班加點用了7天才設計好的表格,因為沒做好防護措施,致使....哎,傷心往事,不說也罷!
現在,我教大家一個好辦法,讓別人只能看,不能動!
為了防止別人無意改動表格的內容(尤其是一些計算公式),我們必須把這些單元格設成“只讀”!
把不需要保護的的單元格選定,單擊右鍵,設置單元格,將保護標簽中的鎖定復選框清除,然后對該工作表設置保護。此時,鎖定的單元格是只讀的,剛才已被清除鎖定復選框的單元則可以正常輸入。當然,如果你連某些單元的內容也不想別人看到,在確定這些單元保護標簽中的鎖定復 選框是選中的情況下,再選擇隱藏即可,這樣將不顯示這些單元其中的內容。但是你必須對工作表或工作簿實施保護后,你的保護和隱藏才有效。要保護工作表,可按以下選擇:
[工具]→[保護]→[保護工作表]→選擇密碼,重復輸入相同密碼,這樣,以后要進入這個工作表,只要輸入密碼即可。
技巧2:得到偶數的單元格的相加值
因為工作需要,要得到偶數的單元格的值相加之和,以下是具體的要求和思路:
要求:得到A2+A4+A6+A8+A10+A12+A14......之和,假如是少還好辦,假如有數十個相加的話就不好辦了,怎樣才能用一個公式來搞定它呢???
思路:呵呵,我已得到答案了!先用一列來得到當前行的行號,你可在C1輸入1,然后向下拖得到每一行的行號,再用一列來判斷當前行是否為偶數行,輸入公式:"=IF(INT(C1/2)=C1/2,A1,0)",然后再累加C列即可。
函數解析:其中的INT函數為判斷C1/2是否為整數,如果C1是偶數C1/2當然是整數了,IF函數判斷INT(C1/2)是否為偶數,如是,則取A列值,如果不是,就取0值。
看懂以上公式后,再教你一個更簡單的方法:用ROW函數.ROW()可以得到當前行的行號,這樣,判斷當前行是否為偶數就不用再增加C列了,只要直接輸入公式:"=IF(INT(ROW(?)=ROW()/2,A1,0)",向下拖動,累加即可。
技巧3:如何使Excel中數字計算自動四舍五入
目的:要對一個單元格中的數據(利用函數計算得出的)在它本身所在的單元格內進行四舍五入。
//* 假設B1單元格內容為:=if(A1$#@62;5,6234*.05)*//
1.如果B1單元此后不再加入其他運算,只要:
右鍵單擊B1 → 設置單元格格式 → 小數位數調整到2位.或者單擊B1,選擇快捷菜單上的 "千分格式",再選擇快捷菜單上的 "退一位小數位" 即可。
2.如果B1單元此后還要再加入其他運算,只要:
在B1單元,將原有內容加入ROUND函數即可:=round(if(A1$#@62;5,6234*.05),2)
其中,最后一位數"2"代表你想要數據參與計算的結果截止到小數點后兩位,如果想要三位,直接改成"3"即可。
以上第一種方法只能達到顯示上的四舍五入,當數據再次參與計算時,將不會以四舍五入后的數值參與。第二種方法,當數據再次參與計算時,將以四舍五入后的數值(即其顯示在單元格中的數據)參與計算。
技巧4:將鍵入的阿拉伯數字自動轉換成人民幣大寫金額
在使用EXCEL過程中,在制作財務憑證時經常需要將數字表示為大寫的數字金額,可用設置單元格格式的方法來實現:
1.首先鼠標右鍵單擊需要用大寫金額顯示的單元格。
2.(*假設此單元格金額為123.50元*)→ 設置單元格格式 → 數字 → 自定義 → 在類型框中輸入 [DBNum2]0“百”0“拾”0“元”0“角”“整” 即可將選中的單元格中的數字顯示為大寫金額:(壹百貳拾叁元伍角整)。
(*假設此單元格金額為1234.51元*)→ 設置單元格格式 → 數字 → 自定義 → 在類型框中輸入 [DBNum2]0“千”0“百”0“拾”0“元”0“角”0“分”“整” 即可將選中的單元格中的數字顯示為大寫金額:(壹千貳百叁拾肆元伍角壹分整)。
第三篇:Excle使用心得
EXCEL使用技巧
01、如何在已有的單元格中批量加入一段固定字符?
例如:在單位的人事資料,在excel中輸入后,由于上級要求在原來的職稱證書的號碼全部再加兩位,即要在每個人的證書號碼前再添上兩位數13,如果一個一個改的話實在太麻煩了,那么我們可以用下面的辦法,省時又省力:
1)假設證書號在A列,在A列后點擊鼠標右鍵,插入一列,為B列;
2)在B2單元格寫入: =“13” & A2 后回車;
3)看到結果為 13xxxxxxxxxxxxx 了嗎?鼠標放到B2位置,單元格的下方不是有一個小方點嗎,按著鼠標左鍵往下拖動直到結束。當你放開鼠標左鍵時就全部都改好了。若是在原證書號后面加13 則在B2單元格中寫入:=A2 & “13” 后回車。
02 用IF函數清除EXCEL工作表中的計算出現的0
=IF(K14*M14=0,“",K14*M14)該式所表示的含義為:如果單元格K14與M14內數值的乘積為零,那么存放計算結果的單元格顯示為一個空白單元格;反之,單元格K14與M14內數值的乘機為不為零,這兩個單元格的數值將被進行乘積運算。
06、在Excel中如何設置加權平均?
加權平均在財務核算和統計工作中經常用到,并不是一項很復雜的計算,關鍵是要理解加權平均值其實就是總量值(如金額)除以總數量得出的單位平均值,而不是簡單的將各個單位值(如單價)平均后得到的那個單位值。在Excel中可設置公式解決(其實就是一個除法算式),分母是各個量值之和,分子是相應的各個數量之和,它的結果就是這些量值的加權平均值。
07、如果在一個Excel文件中含有多個工作表,如何將多個工作表一次設置成同樣的頁眉和頁腳?如何才能一次打印多個工作表?
把鼠標移到工作表的名稱處(若你沒有特別設置的話,Excel自動設置的名稱是“sheet1、sheet2、sheet3.......”),然后點右鍵,在彈出的菜單中選擇“選擇全部工作表”的菜單項,這時你的所有操作都是針對全部工作表了,不管是設置頁眉和頁腳還是打印你工作表。
15、如何快速選取工作表中所有包含公式的單元格?
有時,需要對工作表中所有包含公式的單元格加以保護,或填入與其他單元格不同的顏色,以提醒用戶注意不能在有此顏色的區域內輸入數據。以下方法可以幫助快速選取所有包含公式的單元格:選擇“編輯”“定位”(F5),單擊“定位條件”按鈕,在“定位條件”對話框中選擇“公式”項,按“確定”按鈕即可。
16、如何在不同單元格中快速輸入同一數內容?
選定單元格區域,輸入值,然后按 Ctrl+ Ener鍵,即可實現在選定的單元格區域中一次性輸入相同的值。
17、只記得函數的名稱,但記不清函數的參數了,怎么辦?
如果你知道所要使用函數的名字,但又記不清它的所有參數格式,那么可以用鍵盤快捷鍵把
參數粘貼到編輯欄內。
具體方法是:在編輯欄中輸入一個等號其后接函數名,然后按 Ctr+ A鍵,Excel則自動進入“函數指南——步驟 2之2”。當使用易于記憶的名字且具有很長一串參數的函數時,上述方法顯得特別有用。
27、如何快速地將數字作為文本輸入?
在輸入數字前加一個單引號“’”,可以強制地將數字作為文本輸入。
35、如何使單元格中的顏色和底紋不打印出來?
對那些加了保護的單元格,還可以設置顏色和底紋,以便讓用戶一目了然,從顏色上看出那些單元格加了保護不能修改,從而可增加數據輸入時的直觀感覺。但卻帶來了問題,即在黑白打印時如果連顏色和底紋都打出來,表格的可視性就大打折扣。解決辦法是:選擇“文件”“頁面設置”“工作表”,在“打印”欄內選擇“單元格單色打印”選項。之后,打印出來的表格就面目如初了。
37、“$”的功用
Excel一般使用相對地址來引用單元格的位置,當把一個含有單元格地址的公式拷貝到一個新的位置,公式中的單元格地址會隨著改變。你可以在列號或行號前添加符號 “$”來凍結單元格地址,使之在拷貝時保持固定不變。
38、如何用漢字名稱代替單元格地址?
如果你不想使用單元格地址,可以將其定義成一個名字。
定義名字的方法有兩種:一種是選定單元格區域后在“名字框”直接輸入名字,另一種是選定想要命名的單元格區域,再選擇“插入”“名字”“定義”,在“當前工作簿中名字”對話框內鍵人名字即可。使用名字的公式比使用單元格地址引用的公式更易于記憶和閱讀,比如公式“=SUM(實發工資)”顯然比用單元格地址簡單直觀,而且不易出錯。
39、如何在公式中快速輸入不連續的單元格地址?
在SUM函數中輸入比較長的單元格區域字符串很麻煩,尤其是當區域為許多不連續單元格區域組成時。這時可按住Ctrl鍵,進行不連續區域的選取。區域選定后選擇“插入”“名字”“定義”,將此區域命名,如Group1,然后在公式中使用這個區域名,如“=SUM(Group1)”。
42、工作表名稱中能含有空格嗎?
能。例如,你可以將某工作表命名為“Zhu Meng”。有一點結注意的是,當你在其他工作表中調用該工作表中的數據時,不能使用類似“= Zhu Meng!A2”的公式,否則 Excel將提示錯誤信息“找不到文件Meng”。解決的方法是,將調用公式改為“='Zhu Mg'!A2”就行了。當然,輸入公式時,你最好養成這樣的習慣,即在輸入“=”號以后,用鼠標單由 Zhu Meng工作表,再輸入余下的內容。
46、如何減少重復勞動?
我們在實際應用Excel時,經常遇到有些操作重復應用(如定義上下標等)。為了減少重復勞動,我們可以把一些常用到的操作定義成宏。其方法是:選取“工具”菜單中的“宏”命令,執行“記錄新宏”,記錄好后按“停止”按鈕即可。也可以用VBA編程定義宏。
47、如何快速地批量修改數據?
假如有一份 Excel工作簿,里面有所有職工工資表。現在想將所有職工的補貼增加50(元),當然你可以用公式進行計算,但除此之外還有更簡單的批量修改的方法,即使用“選擇性粘貼”功能: 首先在某個空白單元格中輸入50,選定此單元格,選擇“編輯”“復制”。選取想修改的單元格區域,例如從E2到E150。然后選擇“編輯”“選擇性粘貼”,在“選擇性粘貼”對話框“運算”欄中選中“加”運算,按“確定”健即可。最后,要刪除開始時在某個空白單元格中輸入的50。
48、如何快速刪除特定的數據?
假如有一份Excel工作薄,其中有大量的產品單價、數量和金額。如果想將所有數量為0的行刪除,首先選定區域(包括標題行),然后選擇“數據”“篩選”“自動篩選”。在“數量”列下拉列表中選擇“0”,那么將列出所有數量為0的行。此時在所有行都被選中的情況下,選擇“編輯”“刪除行”,然后按“確定”即可刪除所有數量為0的行。最后,取消自動篩選。
49、如何快速刪除工作表中的空行?
以下幾種方法可以快速刪除空行:
方法一:如果行的順序無關緊要,則可以根據某一列排序,然后可以方便地刪掉空行。方法二:如果行的順序不可改變,你可以先選擇“插入”“列”,插入新的一列入在A列中順序填入整數。然后根據其他任何一列將表中的行排序,使所有空行都集中到表的底部,刪去所有空行。最后以A列重新排序,再刪去A列,恢復工作表各行原來的順序。
方法三:使用上例“如何快速刪除特定的數據”的方法,只不過在所有列的下拉列表中都選擇“空白”。
50、如何使用數組公式?
Excel中數組公式非常有用,它可建立產生多值或對一組值而不是單個值進行操作的公式。要輸入數組公式,首先必須選擇用來存放結果的單元格區域,在編輯欄輸入公式,然后按ctrl+Shift+Enter組合鍵鎖定數組公式,Excel將在公式兩邊自動加上括號“{}”。不要自己鍵入花括號,否則,Excel認為輸入的是一個正文標簽。要編輯或清除數組公式.需選擇數組區域并且激活編輯欄,公式兩邊的括號將消失,然后編輯或清除公式,最后按Ctrl+shift+Enter鍵。
52、在Excel中用Average函數計算單元格的平均值的,值為0的單元格也包含在內。有沒有辦法在計算平均值時排除值為0的單元格?
方法一:如果單元格中的值為0,可用上例“0值不顯示的方法”將其內容置為空,此時空單元格處理成文本,這樣就可以直接用Average函數計算了。
方法二:巧用Countif函數 例如,下面的公式可計算出b2:B10區域中非0單元格的平均值: =sum(b2: b10)/countif(b2: b1o,”<>0")
三、讓不同類型數據用不同顏色顯示
在工資表中,如果想讓大于等于2000元的工資總額以“紅色”顯示,大于等于1500元的工資總額以“藍色”顯示,低于1000元的工資總額以“棕色”顯示,其它以“黑色”顯示,我們可以這樣設置。
1.在工作簿中,選中“工資總額”所在列,執行“格式→條件格式”命令,打開“條件
格式”對話框。單擊第二個方框右側的下拉按鈕,選中“大于或等于”選項,在后面的方框中輸入數值“2000”。單擊“格式”按鈕,打開“單元格格式”對話框,將“字體”的“顏色”設置為“紅色”。(在Excle07中 開始----樣式---條件格式 下面設置)
2.按“添加”按鈕,并仿照上面的操作設置好其它條件(大于等于1500,字體設置為“藍色”;小于1000,字體設置為“棕色”)。
3.設置完成后,按下“確定”按鈕。
第四篇:CAD使用心得之一
CAD使用心得之一--CAD使用的三個基本方面:清晰、準確、高效
(2012-07-02 10:49:16)
很多CAD的教材,如果對照著學習的話,確實都能夠在一定程度上掌握這個軟件,如果到工作崗位,也都能勉勉強強的開始畫圖。但是,這遠遠不夠,從書本到實戰,還有一大段距離。因此,將收集的有關于使用CAD的一系列心得體會發出來與大家分享。
CAD使用心得連載之一
——CAD使用的三個基本方面:清晰、準確、高效
目前,設計公司的設計文件,特別是圖紙,都是用CAD軟件繪制的,但是還有很多人對CAD并不是非常熟悉,或者說使用起來并非得心應手,以至于效率并不是很高,可以說,繪制同樣的一張圖紙,速度快的和慢的在耗時上可能會相差好幾倍。同時,每個人繪制出來的圖紙看上去感覺都不盡相同:有些圖紙看上去一目了然、清晰漂亮,而有些圖紙不但表達不清,甚至可以用慘不忍睹來形容。
不知大家認為,使用CAD畫圖最重要的是什么?對這個問題,每個人都有可能理解不同,但在我看來,最重要的是時時刻刻記住自己使用CAD畫圖的目的是什么。
我們進行工程設計,不管是什么專業、什么階段,實際上都是要將某些設計思想或者是設計內容,表達、反映到設計文件上。而圖紙,就是一種直觀、準確、醒目、易于交流的表達形式。所以我們完成的東西(不管是最終完成的設計成果,還是作為條件提交給其它專業的過程文件,一定需要能夠很好的幫助我們表達自己的設計思想、設計內容。
有了這個前提,我們就應該明白,好的CAD圖紙應該具有以下兩個特征:清晰、準確。清晰,就是需要表達的東西必須清楚明了。好的圖紙,看上去一目了然。構件表達、尺寸標注、文字說明清清楚楚,互不重疊??除了圖紙打印效果清晰以外,在屏幕上的顯示也必須清晰。圖面清晰除了能清楚表達設計思路和設計內容外,也是提高繪圖速度的基礎。準確,就是標注不能錯誤,指示不能模糊。制圖準確不僅是為了好看,更重要的是可以直觀的反映一些圖面問題,對于提高繪圖速度也有重要的影響,特別是在圖紙修改時。我們在使用CAD繪圖時,無時無刻都應該把以上兩點銘刻在心。只有做到這兩點,才能說在繪圖方面基本過關。
圖面表示要“清晰”、“準確”,而在繪圖過程中,還有同樣重要的一點,就是“高效”。能夠高效繪圖,好處不用多說。
清晰、準確、高效是CAD軟件使用的三個基本點。在CAD軟件中,除了一些最基本的繪圖命令外,其他的各種編輯命令、各種設置定義,可以說都是圍繞著清晰、準確、高效這三方面來編排的。我們在學習CAD中的各項命令、各種設置時,都要思考一下,它們能在這三個方面起到那些作用;在使用時應該注重什么;在什么情況和條件下,使用這些命令最為合適。
第五篇:STM32使用心得
stm32使用心得
第一次使用stm32,以前用過
51、avr、pic、2812,感覺stm32還真有點不一樣,呵呵。
因為是第一次使用,下面說的肯定有不少錯誤,誠心求大家指正。
這次做的是用stm32f103zd+lattice 的lc4256v做一個波形發生器。通過上位機可以控制生成波形的頻率,然后stm32根據頻率計算波形占空比數據,通過總線形式傳給cpld,然后cpld把這些數據轉換成相對應占空比的pwm輸出,外部接RC濾波電路,產生相對應的波形。由于頻率范圍較大,計算量也比較大,所以采用了stm32+cpld的結構。Stm32運行在72MHZ,通過mco腳給cpld 36M HZ的時鐘,stm32和cpld通過總線方式通信。
此系統中Stm32主要用到的資源是:一個UART,一個TIMER及其中斷,FSMC和DMA。
本人總結了下,Stm32初始化一個片內外設一般過程一般有以下幾部分:
1.InitStructure配置及初始化
2.時鐘使能
3.相對應的IOInitStructure配置及初始化
4.相對應的IO時鐘使能
5.外設使能
6.中斷配置及中斷程序編寫
下面介紹一下自己所用的UART、TIMER、FSMC、DMA的初始化。
UART初始化:
此系統中使用的是UART2,未用UART中斷。UART初始化主要有:IO初始化,UART InitSturcture初始化,UART時鐘使能,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時鐘使能
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時鐘使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
/* Enable the USART2 */
USART_Cmd(USART2, ENABLE);
TIMER初始化
使用的是TIM2。初始化主要包括TIM2 InitSturcture初始化,時鐘使能,TIM2開啟,中斷配置,及中斷服務程序編寫。此TIM2作用主要是給DMA提供時鐘,DMA在TIM2 UP時啟動一次DMA發送過程。TIM2程序如下:
TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;
//定時器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);
//定時器2中斷服務程序
void TIM2_IRQHandler(void)//這個函數可以在文件stm32f10x.c文件中查找到 {
TIM_ClearITPendingBit(TIM2,TIM_IT_Update);
}
FSMC初始化
FSMC主要用來和CPLD進行總線通信,由DMA方式發送,在TIM2計時時間到后啟動一次DMA發送,發送的數據由已計算好的數組中的一個16位數據以16位方式發給FSMC的地址。由于此系統電路已固定,stm32與CPLD間數據線是8位,故在向FSMC地址寫16位數據時,FSMC會將數據拆成2部分發送。本人在實際編程時發現,如向*(volatile u16*)(Bank1_NOR4_ADDR+0x40)地址給CPLD寫16位數據時,會在40h接收到低8位數據,在41h接收到高8位數據。按道理來說這些數據應該與NBL0, NBL1信號有關,本人在CPLD編程時未理會這個,具體時序不是很清楚,有待考究。
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);
此處簡單介紹一下FSMC總線方式的使用。
FSMC初始化完了之后,進行如下定義,#define Bank1_NOR4_ADDR((u32)0x6c000000)
#define cs_sin*(volatile u16*)(Bank1_NOR4_ADDR+0x40)
然后cs_sin=1000就是往這個地址寫數字1000=0x03e8,則cpld 40h地址收到數據為0xe8,41h收到的數據為0x03
i=cs_sin,就是讀這個地址的數據,由于定義的是16位的數據地址,故讀到的數據是40h為低8位數據,41h為高8位數據
DMA初始化:
DMA在TIM2 UP時觸發,將已經計算好放在數組dat_tocpld的16位數據發送到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/介紹的關于PWM電壓轉換電路。
在PWM用于DA轉換的場合,阻容濾波電路是關系轉換效果的重要環節。
由RC充放電常數我們可以大致計算出阻容環節的充放電頻率,一般為了得到理想的濾波效果,這個頻率要遠小于PWM的輸出頻率(小于四分之一)。
一般情況下,當C較小R較大時,DA轉換出的電壓損耗很小,但是紋波卻很大;當C較大R較小時,DA轉換出的電壓損耗很大,但紋波相對較小。
所以當需要進行線形度很高的精確DA轉換時必須使用較小的濾波電容,且盡量避免使用電解類電容。而為了得到較強的信號輸出,RC慣性環節之后還必須加一級高性能的電壓跟隨,然后在跟隨器輸出的地方加上一個濾波用的電解電容,用于平滑RC慣性環節的紋波。但是這還不夠,因為這時的輸出電壓里可能含有較多的交流諧波成分,如果處理不當,跟隨器有可能自激。解決的辦法就是使用一個小的去藕電容。而且這里電容的放置順序必須是電解電容在前,去藕電容在后!
如果輸出電壓精度和線形度要求不高,但是對紋波要求卻很高,或者這個電壓比較固定時,可以使用電容較大的濾波組合。因為,雖然大電容的直流損耗較大,但是我們可以通過調節PWM占空比來達到要求的輸出電壓,或者通過一級AD轉換的反饋來實現精確的固定電壓輸出。只是這里仍然要加一級電壓跟隨器,以便于后級采集電路使用,且AD采集點放置在跟隨器輸出處。