學生成績排名生成
⑴ 學生成績表:用excel函數怎樣算出(考號自動生成,計算總分和年級名次)
總分用sum
名次用rank
考號不知道你最終生成的效果,不方便提供。可以藉助row、text生成
⑵ 用excel2010在多個班級的年級學生分數匯總表中顯示班級名次和年級名次的生成方法。
如果班級在B列,總分在G列,
那麼班級排名輸入以下公式,然後向下填充公式
=SUMPRODUCT((B$2:B$2000=B2)*(G$2:G$2000>G2))+1
年級排名輸入以下公式,然後向下填充公式
=RANK(G2,G:G)
⑶ 用excel怎樣統計不同班級學生各科成績總分等,以及輸入分數後能自動生成各個分數段的人數,和班級積分名次
DCOUNT
請參閱
返回資料庫或列表的列中滿足指定條件並且包含數字的單元格個數。
參數 field 為可選項,如果省略,函數 DCOUNT 返回資料庫中滿足條件 criteria 的所有記錄數。
語法
DCOUNT(database,field,criteria)
Database 構成列表或資料庫的單元格區域。資料庫是包含一組相關數據的列表,其中包含相關信息的行為記錄,而包含數據的列為欄位。列表的第一行包含著每一列的標志項。
Field 指定函數所使用的數據列。列表中的數據列必須在第一行具有標志項。Field 可以是文本,即兩端帶引號的標志項,如「使用年數」或「產量」;此外,Field 也可以是代表列表中數據列位置的數字:1 表示第一列,2 表示第二列,等等。
Criteria 為一組包含給定條件的單元格區域。可以為參數 criteria 指定任意區域,只要它至少包含一個列標志和列標志下方用於設定條件的單元格。
示例
如果您將示例復制到空白工作表中,可能會更易於理解該示例。
操作方法
創建空白工作簿或工作表。
請在「幫助」主題中選取示例。不要選取行或列標題。
從「幫助」中選取示例。
按 Ctrl+C。
在工作表中,選擇單元格 A1,再按 Ctrl+V。
若要在查看結果和查看返回結果的公式之間切換,請按 Ctrl+`(重音符),或在「工具」菜單上,指向「公式審核」,再單擊「公式審核模式」。
1 種
2 種
3 種
4 種
5 種
6 種
7 種
8 種
9 種
10 種
A B C D E F
樹種 高度 使用年數 產量 利潤 高度
蘋果樹 >10 <16
梨樹
樹種 高度 使用年數 產量 利潤
蘋果樹 18 種 20 種 14 種 105.00 種
梨樹 12 種 12 種 10 種 96.00 種
櫻桃樹 13 種 14 種 9 種 105.00 種
蘋果樹 14 種 15 種 10 種 75.00 種
梨樹 9 種 8 種 8 種 76.80 種
蘋果樹 8 種 9 種 6 種 45.00 種
公式 說明(結果)
=DCOUNT(A4:E10,"使用年數",A1:F2) 此函數查找高度在 10 到 16 英尺之間的蘋果樹的記錄,並且計算這些記錄中「使用年數」欄位包含數字的單元格數目。(1)
=DCOUNTA(A4:E10,"利潤",A1:F2) 此函數查找高度為 10 到 16 英尺之間的蘋果樹記錄,並計算這些記錄中「利潤」欄位為非空的單元格數目。(1)
=DMAX(A4:E10,"利潤",A1:A3) 此函數查找蘋果樹和梨樹的最大利潤。(105)
=DMIN(A4:E10,"利潤",A1:B2) 此函數查找高度在 10 英尺以上的蘋果樹的最小利潤。(75)
=DSUM(A4:E10,"利潤",A1:A2) 此函數計算蘋果樹的總利潤。(225)
=DSUM(A4:E10,"利潤",A1:F2) 此函數計算高度在 10 到 16 英尺之間的蘋果樹的總利潤。(75)
=DPRODUCT(A4:E10,"產量",A1:B2) 此函數計算高度大於 10 英尺的蘋果樹產量的乘積。(140)
=DAVERAGE(A4:E10,"產量",A1:B2) 此函數計算高度在 10 英尺以上的蘋果樹的平均產量。(12)
=DAVERAGE(A4:E10,3,A4:E10) 此函數計算資料庫中所有樹種的平均使用年數。(13)
=DSTDEV(A4:E10,"產量",A1:A3) 如果資料庫中的數據只是整個果園的一個樣本,則此值是蘋果樹和梨樹產量的估算標准偏差。(2.97)
=DSTDEVP(A4:E10,"產量",A1:A3) 如果資料庫中的數據為整個果園的樣本總體,則此值是蘋果樹和梨樹產量的真實標准偏差。(2.65)
=DVAR(A4:E10,"產量",A1:A3) 如果資料庫中的數據只是整個果園的一個樣本,那麼此值是蘋果樹和梨樹產量的估算方差。(8.8)
=DVARP(A4:E10,"產量",A1:A3) 如果資料庫中的數據為整個果園的樣本總體,則此值是蘋果樹和梨樹產量的真實方差。(7.04)
=DGET(A4:E10,"產量",A1:A3) 返回錯誤值 #NUM!,因為有多個記錄符合給定的條件。
⑷ 編寫一個程序,要求隨機生成61個學生的成績(從0到100的整數),在將成績排序(由高到低)後保存到文件"sc
//如有問題,再探討~
#include<iostream.h>
#include<stdlib.h>
#include<fstream.h>
#define N 61
void saveTofile(int array[],int n);//保存結果到文件
void print(int array[],int n);//列印數組函數
void popsort(int array[],int n);//排序
void main()
{
int i;
int array[N];
for(i=0;i<N;i++)
{
array[i]=rand()%100;
}
cout<<"排序前數組:"<<endl;
print(array,N);
cout<<"\n排序之後數組:"<<endl;
popsort(array,N);
print(array,N);
saveTofile(array,N);//保存到文件
}
void popsort(int array[],int n)
{
int t;
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(array[j]>array[j+1])
{
t=array[j];
array[j]=array[j+1];
array[j+1]=t;
}
}
}
}
void print(int array[],int n)
{
for(int i=0;i<n;i++)
{
if(i%10==0&&i!=0)
{
cout<<endl;
}
cout<<array[i]<<"\t";
}
cout<<endl;
}
void saveTofile(int array[],int n)
{
ofstream file("d:\\sc.txt",ios::in|ios::out|ios::trunc);
for(int i=0;i<n;i++)
{
char *buffer=new char[1];
if(i%10==0&&i!=0)
file<<endl;
file<<array[i];
file.write("\t",sizeof("\t"));
}
file.close();
cout<<"文件寫入成功!!!"<<endl;
}
⑸ 如何製作工作表,只要將學後的成績輸入進去就能自動生成班級排名和各班前三名以及全年級前三名的統計
必須使用電子表格嗎?推薦你用專門的統計分析軟體,功能很強大,可以更好的幫你分析學生考試的情況。比如「瑞文考試成績統計分析系統」就可以,我們用了一個學期了,感覺比excel好多了。
一、綠色軟體,無需安裝。系統採用B/S(瀏覽器/伺服器)工作方式,所有操作均在瀏覽器中完成。可以由多個用戶在網路中的不同計算機同時操作、查詢。符合人們的操作習慣,但與其它網站系統需要復雜的安裝與設置不同。該系統為一個綠色軟體,直接運行即可。根本就不需要對IIs進行安裝和配置。最適合非專業網路管理人員使用。
二、強大的計算統計分析功能。它可以方便的根據用戶的要求計算指定范圍的學生參加考試的人數,總分、平均分、方差、各分數段人數,及格率等信息並自動計算每個學生的各科總分、平均分,並可以按指定的科目或條件對學生進行排序操作。系統有豐富統計功能,能按照多種條件,對不同學校、年級、班級等進行對比分析,並以圖表的形式呈現出來。
三、操作便捷,系統充分考慮了用戶使用的便捷性。系統能夠很好的利用已有的學生信息如EXCEL等資料,實現批量添加新學生,考試成績的錄入只需錄入考號、成績回車即可,根本無需使用滑鼠。極大提高了成績錄入的效率。
四、提供完善的許可權控制,不同的用戶進入不同的界面,可以進行不同的操作。如成績錄入員不能錄入已經存在的成績,而主管可以修改錄入的成績,提供統考和自考兩種工作模式,在統考模式下適合對學生進行統一的考核,成績統一錄入。便於對考試情況進行評價、分析。自考模式下適合教師自行組織考試,了解學生學習情況。學生自主查詢模塊可以嵌入其它網站,提供學生自己查詢成績的功能。
⑹ 怎麼在excel中根據學生成績自動生成名次
見截圖
假定成績在B列
C2輸入
=RANK(B2,B:B)
公式下拉
⑺ java題,用類方法隨機生成20名學生成績成績並計算平均分和總分,按總分排序
⑻ 在excel中如何把一個全校的學生成績按班級和總分排名順序,在另一張表中生成
填充一個新表等於原表,並按班級、總分排序
⑼ excel裡面有沒有可以根據考試成績分數,直接排名次,並生成相應的名次的公式
可以先按成績排名,並自動填充名次,然後再按座次重新排序就可以了。
當然量大可以用RANK函數
找到名次列,假設是D列,總成績是C列(先前你就是按照總成績進行的排序)。找到第二行的學生(如果沒有並列第一的話,它的名次應該是2,假設這個單元格是D3),把這個D3單元格里的2清空改成公式:=IF(C3=C2,D2,D2+1),用文字描述一下就是,如果這個學生的總成績和上一個學生的總成績相同,就取上一個學生的名次,如果不同就用上一個學生的名次加1。
下用復制這個D3單元格的公式就行了(註明第一行第一名的那個,就是D2單元格,不要用這個公式覆蓋掉。),我做過試驗一定可以成功的。
最後還要做一些掃尾工作。為了怕你改變學生的順序導致名次混亂,這時你要緊接著把名次這一欄,用復制,選擇性粘貼,選數值,把名次這一欄替換掉,這樣無論你是按學號排序,還是按班級排序都不會把剛才排好的名次破壞。
經過我仔細測試了一邊找到了個好的辦法,可以不要把它們重新排成一行。
公式改為:=RANK(H4,($H$4:$H$35,$Q$4:$Q$33),0)
然後全部復制這個公式就行了。
RANK函數,它的語法為:
RANK(number,ref,order)
其中number為需要找到排位的數字。
Ref為包含一組數字的數組或引用。Ref 中的非數值型參數將被忽略。
Order為一數字,指明排位的方式。
·如果 order 為 0 或省略,Microsoft Excel 將 ref 當作按降序排列的數據清單進行排位。
·如果 order 不為零,Microsoft Excel 將 ref 當作按升序排列的數據清單進行排位。
最後,單擊L1單元格,然後在「工具」菜單中選「排序」->「升序」,即可按照名次順序顯示各學生成績。
⑽ 1. 學生成績排名 1) 定義一個數組a[11],用以存放學生的成績。 2) 從鍵盤輸入10個學生成績 3) 採用冒泡法,
#include <stdio.h>
main()
{
float a[10];
int i,j,temp;
printf("請輸入復10個學生的成績\n");
for (i=0;i<=9;i++)
{
scanf("%f",&a[i]);
}
/*冒泡排制序法(從大到小)*/
for (i=0;i<=9;i++)
{
for (j=i+1;j<=9;j++)
{
if (a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("成績經過排序後\n");
for (i=0;i<=9;i++)
{
printf("%f ",a[i]);
}
printf("\n");
}
看了樓主的題目,沒經過編譯器,直接在輸入框寫了這個代碼、不知道有沒語法錯誤。樓主可以自己檢查。大概程序就是這樣。