位置:首頁(yè) > 軟件操作教程 > 辦公軟件 > Excel > 問題詳情

用excel制作九九乘法表的方法

提問人:周麗平發(fā)布時(shí)間:2021-07-09

方法一

1.選中A1:J10區(qū)域,為其設(shè)置虛線邊框。選中B1:J1單元格區(qū)域,按住Ctrl鍵,再選中A1:A10單元格區(qū)域,然后為選中的單元格填充顏色。

image.png

2.在B1、C1單元格中分別輸入1和2,然后選中這兩個(gè)單元格,下拉填充至J1單元格,得到上表頭。接著在A2、A3單元格中分別輸入1和2,然后選中這兩個(gè)單元格,向右填充到A10單元格,得到左表頭。將上表頭和左表頭的數(shù)字設(shè)置為“加粗”“垂直居中”。

image.png

其實(shí),也可以在A2單元格中輸入公式“=ROW()-1”,然后向下填充,通過當(dāng)前行號(hào)得到左表頭,同理,也可以在B1單元格中輸入公式“=COLUMN()-1”,然后向下填充,通過當(dāng)前列號(hào)得到上表頭。

3.在B2單元格中輸入公式“=IF(B$1>$A2,"",B$1&"×"&$A2&"="&B$1*$A2)”,并向下、向右填充公式到J10單元格。這里用了一個(gè)簡(jiǎn)單的IF公式進(jìn)行判斷,當(dāng)B1單元格值大于A2單元格值時(shí),返回空值,否則返回用“&”連接符連接的數(shù)據(jù)。

image.png

方法二

1.與方法一中步驟1、2一致。

2.選中B2單元格,在“開始”選項(xiàng)卡的“樣式”組中單擊“條件格式”按鈕,選擇“新建規(guī)則”項(xiàng)。在“新建格式規(guī)則”對(duì)話框中,選擇規(guī)則類型為“使用公式確定要設(shè)置格式的單元格”,設(shè)置“公式”為“=$A2<B$1< style="MARGIN-BOTTOM: 0px; MARGIN-TOP: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; user-select: text" span="">”,將字體格式設(shè)置為“白色”。

image.png

3.在B2單元格輸入公式“=B$1&"×"&$A2&"="&B$1*$A2”,然后用填充柄將B2單元格的公式和條件格式向下、向右填充到B2:J10區(qū)域,就會(huì)得到九九乘法表。這里用到了絕對(duì)引用和相對(duì)引用的知識(shí),不熟悉的小伙伴可以回顧下往期教程《絕對(duì)引用混合引用都不懂?難怪你總是公式填充錯(cuò)誤!》。

image.png

因?yàn)樵贐2單元格的條件格式中使用了混合引用,所以當(dāng)把條件格式填充到B2:J10區(qū)域后,如果第一列n行的值小于第1行n列的值,則將單元格中的內(nèi)容設(shè)置為“白色”,使其與默認(rèn)背景顏色相同,達(dá)到隱藏的效果,以保證B2:J10區(qū)域的上三角不被顯示出來。

方法三

無需輸入上表頭和左表頭,也可以制作九九乘法表,具體步驟如下:

1.在B7單元格中輸入公式:

“=IF(COLUMN(A1)>ROW(A1),"",COLUMN(A1)&"×"&ROW(A1)&"="&ROW(A1)*COLUMN(A1))”,向下、向右填充公式至J15單元格。

image.png

公式中使用了IF()、COLUMN()、ROW()函數(shù)。其中,ROW()用于提取所在單元格的行數(shù),比如在A3單元格中輸入“=ROW(A3)”,就會(huì)返回A3單元格所在的行數(shù),即3。COLUMN()用于提取所在單元格的列號(hào),最后用IF()函數(shù)判斷A1單元格所在的列數(shù)是否大于其所在的行數(shù),大于就返回空值,否則返回“列數(shù)×行數(shù)=行數(shù)*列數(shù)”。

方法四

其實(shí)九九乘法表,也可以用VBA程序來做,它可以使Excel更自動(dòng)化,完成普通功能和函數(shù)無法完成的任務(wù)。

1.與方法一中步驟1一致。

2.在“開發(fā)工具”選項(xiàng)卡的“控件”組中單擊“插入”按鈕,在當(dāng)前工作表的適當(dāng)位置處添加一個(gè)命令按鈕(ActiveX控件),在新添加的命令按鈕上,單擊鼠標(biāo)右鍵,在快捷菜單中選擇“屬性”命令,設(shè)置其Caption屬性為“方法4”。

image.png

3.在“開發(fā)工具”選項(xiàng)卡中點(diǎn)擊“查看代碼”命令,對(duì)該按鈕的Click事件編寫如下代碼:

Private Sub CommandButton1_Click()

Range("B1:J1").Value = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) '設(shè)置上表頭

Range("B1:J1").Copy

Range("A2:A10").PasteSpecial Transpose:=True '轉(zhuǎn)置粘貼,設(shè)置左表頭

Application.CutCopyMode = False '取消復(fù)制狀態(tài)

k = "=R1C&" & Chr(34) & "×" & Chr(34) & "&RC1&" & Chr(34) & "=" & Chr(34) & "&R1C*RC1"   '形成公式

For r = 2 To 10

For c = 2 To r

Cells(r, c).FormulaR1C1 = k '填寫公式

Next

Next

Cells(1, 1).Select '光標(biāo)定位

End Sub

這段代碼在單擊“方法4”按鈕時(shí)將被執(zhí)行。

image.png

這段代碼首先向B1:J1單元格依次填充數(shù)值1-9,將B1:J1區(qū)域的數(shù)據(jù)復(fù)制后轉(zhuǎn)置粘貼到A2:A10單元格區(qū)域,然后取消復(fù)制狀態(tài),得到表格上的上表頭和左表頭。接著生成一個(gè)計(jì)算公式送給變量k,并用雙重循環(huán)結(jié)構(gòu)將公式填充到2-10行的下三角區(qū)域,變量k的值為“=R1C & "×" & RC1 &"=" &R1C*RC1”,其中,RC1表示當(dāng)前第1列單元格,R1C表示當(dāng)前列第1行單元格。程序用函數(shù)“Chr(34) ”返回雙引號(hào)“"”,以實(shí)現(xiàn)雙引號(hào)的嵌套。

方法五

最后再介紹一種用VBA制作九九乘法表的方法。

1.與方法一中步驟1一致。

2.與方法四中步驟2一致,將控件的Caption屬性設(shè)置為“方法5”。

image.png

3.在“開發(fā)工具”選項(xiàng)卡中點(diǎn)擊“查看代碼”命令,對(duì)該按鈕的Click事件編寫如下代碼:

Private Sub CommandButton1_Click()

For r = 1 To 9 '按行循環(huán)

Cells(r + 1, 1) = r '填寫左表頭

For c = 1 To r '按列循環(huán)

Cells(1, c + 1) = c '填寫上表頭

s = c & "×" & r & "=" & c * r '形成等式字符串

Cells(r + 1, c + 1).FormulaR1C1 = s '填寫等式字符串

Next

Next

End Sub

這段代碼在單擊“方法5”按鈕時(shí)將被執(zhí)行。

image.png

此程序采用的是雙重循環(huán)結(jié)構(gòu)。外層循環(huán)讓變量r從1到9進(jìn)行變化,每次循環(huán)先在r+1行、低1列單元格處填寫左表頭,再用內(nèi)層循環(huán)讓變量c從1到r進(jìn)行變化。每次內(nèi)層循環(huán)先在第1行、c+1列單元格處填寫上表頭,再生成一個(gè)等式字符串送給變量s,并將s的值填寫到r+1行、c+1列單元格。

繼續(xù)查找其他問題的答案?

回復(fù)(0)
返回頂部