分類: 電腦/網(wǎng)絡 程序設計 其他編程語言
成都創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為沐川企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設,沐川網(wǎng)站改版等技術服務。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
問題描述:
如何用excel函數(shù)實現(xiàn)類似以下的功能:
A1、B1分別為兩個單元格
switch(A1){
case 'morning': B1=8;
case 'evening': B1=10;
........
}
程序要實現(xiàn)的功能是當A1等于'morning'時,B1的內(nèi)容自動為數(shù)值'8',當A1等于'evening'時,B1的內(nèi)容自動為數(shù)值'10'
解析:
可能沒有這樣的函數(shù),只能多用幾個if嵌套
在B1中輸入
=IF(EXACT(A1,"morning"),8,IF(EXACT(A1,"evening"),10))
if格式為 if(邏輯運算符,條件為真時的值,條件為假時的值)
exact(文本1,文本2)為比較倆文本是否相同的函數(shù)
有C語言的基礎相信你能看懂的
不過嵌套的層數(shù)有沒有限制就不知道了...
EXCEL
只能做極其簡單的運算,函數(shù)功能很差。與C不通用。EXCEL
是用
VB
寫的。
printf
scanf
getchar
getch
都是基本輸入輸出函數(shù)。
-f
是
format
,(格式)
printf
有格式
輸出
scanf
有格式
輸入
getchar
和
getch
都是
輸入
字符的函數(shù)。
函數(shù)
的參數(shù)和
返回值得定義
要查
幫助文件。(用幾次,就熟悉了)
據(jù)我所知,Excel中的自定義函數(shù)都是用VBA寫的,要想使用C的自定義函數(shù),必須將C函數(shù)嵌入到VBA代碼中。
1.寫操作 第一步:單純C語言寫入Excel文件只能是 *.csv的后綴文件(是和txt一樣,以二進制文本形式存儲,它是以都逗號分隔符做個單元格內(nèi)容的劃分, .xls存儲比較復雜, .csv文件可以可以通過...
2.讀操作 讀取文件 對于讀取Excel文件的操作,使用了文件隨機定位函數(shù)fseek(),它的一般調(diào)用格式如下: fseek...
3.最新補充 2018.08.28 由于經(jīng)常有朋友告訴我運行結果是0 ,并將他們的工程發(fā)到我...
先要確定你使用哪個框架來操作EXCEL,aspose、NPOI都很好用,你先每列的第一個單元格檢查是否有數(shù)據(jù),如果沒有就終止檢查,找到第一個單元格是非空的那些列以后,再逐行的單元格檢查,看那些行沒有數(shù)據(jù),檢查到單元格為空就退出當前列
簡單的方法是通過ODBC來實現(xiàn):
具體實現(xiàn)
一、 包含Excel文件操作類頭文件
#include "CSpreadSheet.h"
二、 新建Excel文件,并寫入默認數(shù)據(jù)
// 新建Excel文件名及路徑,TestSheet為內(nèi)部表名
CSpreadSheet SS("c:\\Test.xls", "TestSheet");
CStringArray sampleArray, testRow;
SS.BeginTransaction();
// 加入標題
sampleArray.RemoveAll();
sampleArray.Add("姓名");
sampleArray.Add("年齡");
SS.AddHeaders(sampleArray);
// 加入數(shù)據(jù)
CString strName[] = {"徐景周","徐志慧","郭徽","牛英俊","朱小鵬"};
CString strAge[] = {"27","23","28","27","26"};
for(int i = 0; i sizeof(strName)/sizeof(CString); i++)
{
sampleArray.RemoveAll();
sampleArray.Add(strName[i]);
sampleArray.Add(strAge[i]);
SS.AddRow(sampleArray);
}
SS.Commit();
三、 讀取Excel文件數(shù)據(jù)
CSpreadSheet SS("c:\\Test.xls", "TestSheet");
CStringArray Rows, Column;
//清空列表框
m_AccessList.ResetContent();
for (int i = 1; i = SS.GetTotalRows(); i++)
{
// 讀取一行
SS.ReadRow(Rows, i);
CString strContents = "";
for (int j = 1; j = Rows.GetSize(); j++)
{
if(j == 1)
strContents = Rows.GetAt(j-1);
else
strContents = strContents + " -- " + Rows.GetAt(j-1);
}
m_AccessList.AddString(strContents);
}