返回目录:excel表格制作
1、首先,我们打开excel,然后我们输入一些数字,之后我们选中来图示中的单元格,然后点击公式;
2、然后点击自动求和的下拉箭头,之后点击其他函数;
3、然后我们将选择类型设置成全部,之后我们找到自COUNTIF,然后点击选中它,之后点击确定;
4、然后我们输入条件,此处我们输入>400,然后点击确定;
5、结果如图所示,这样我们就求zhidao出了大于400这个条件的个数了。
你可以尝试TableLayout,根据需要zhidao划定按最小单元需要显示多少列,然后宽一点的单元则设置占几个单元格就可以内了。这样对齐也美观。需要翻页(翻页动作触发替换到下一页内容,甚至可以容用ViewSwitcher做一个翻页的动画)或者滚屏(外面套ScrollView
工具:EXCEL2007
1、在桌面新建一个空白的zhidaoEXCEL工作表,并打开。
2、打开后输入数据,要求求出数据范围大于等于20,小于等于50的个内数。
3、在D3单元格输入公式=SUMPRODUCT((A2:A25>=20)*(A2:A25<=50)),而后确定,获取符合条件的个数,个数为5。
4、或者在D4单元格输入公式=COUNTIFS(A2:A25,">=20",A2:A25,"<=50"),这个容是用的最常用的countif函数,获取符合条件区间的个数。
5、也可以在D5单元格输入公式=SUM(COUNTIF(A2:A25,{">=20",">=50"})*{1,-1}),这里是用的正负抵消的方法。
Android实现Excel表格
具体的用法: 写好xml的布局文件:分为头部标题和lsitView两个部分。 头部标题永远排在第一列,其中第一个会滑动所以在布局的时候就不要放在
* com.excel.tool.MyHScrollView里面(MyHScrollView重写的HorizontalScrollView)。
* 其它没有什么就是对其滑动处理的把握。
*
* item里面的数据以及布局,按照正确的布局方式和逻辑处理。
*
* 它的用法其实你当做简单的listView那样操作就可以了。
*
* 排序没有完善,其实都是同一个方法,有待合并。
*
*
public class MainActivity extends Activity {
Context context;
private ListView listView;
private LinearLayout toplayout;
private MyAdapter myAdapter;
public List<DataModel> BaseData;
private HorizontalScrollView horizontalScrollView;
/**
*
* isTouchItem值的改变在
*
* com.excel.tool.MyHScrollView中去判断--解决ListView很容易触发点击事件
*
* 里面处理 控制表格滑动很容易触发的点击事件问e799bee5baa6e79fa5e98193e4b893e5b19e363题
*/
public static boolean isTouchItem = false;
/***
*
* 排序的监听
*/
private LinearLayout sort_0;
private boolean ischeck;
private ImageView sort_triangle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = MainActivity.this;
viewInit();
dataInit();
}
/***
*
* view的初始化
*
*/
public void viewInit() {
toplayout = (LinearLayout) findViewById(R.id.toplayout);
toplayout.setOnTouchListener(onTouchListener);
horizontalScrollView = (HorizontalScrollView) toplayout
.findViewById(R.id.horizontalScrollView_excel);
listView = (ListView) findViewById(R.id.listView);
listView.setOnItemClickListener(onItemClickListener);
listView.setOnTouchListener(onTouchListener);
sort_0 = (LinearLayout) findViewById(R.id.sort_0);
sort_0.setOnClickListener(onClickListener);
sort_triangle = (ImageView) findViewById(R.id.waterlevel_triangle);
}
/***
*
* 数据的初始化
*
*/
public void dataInit() {
if (BaseData == null)
BaseData = new ArrayList<DataModel>();
myAdapter = new MyAdapter(context, toplayout);
for (int i = 0; i < Data.subject.length; i++) {
DataModel model = new DataModel();
model.setSubject(Data.subject[i]);
model.setChinese(Data.Chinese[i]);
model.setMath(Data.Math[i]);
model.setEnglish(Data.English[i]);
model.setPhysics(Data.Physics[i]);
model.setChemistry(Data.Chemistry[i]);
model.setBiology(Data.Biology[i]);
model.setPE(Data.PE[i]);
BaseData.add(model);
}
myAdapter.setHostBaseData(BaseData);
listView.setAdapter(myAdapter);
}
private OnClickListener onClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.sort_0:
if (ischeck == false) {
// 对数据进行排序--传入数据,2表示递减排序, 1表示递减
BaseData = Sort.sortchukuData(BaseData, 2);
myAdapter.setHostBaseData(BaseData);
ischeck = true;
sort_triangle
.setBackgroundResource(R.drawable.triangle_down);
} else {
BaseData = Sort.sortchukuData(BaseData, 1);
myAdapter.setHostBaseData(BaseData);
ischeck = false;
sort_triangle.setBackgroundResource(R.drawable.triangle_up);
}
break;
}
}
};
private OnItemClickListener onItemClickListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
if (isTouchItem == false)
return;
CustomerToast.showToast(context, "你点击的是:" + position + "这个下标");
}
};
private OnTouchListener onTouchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.toplayout:
horizontalScrollView.onTouchEvent(event);
return false;
case R.id.listView:
horizontalScrollView.onTouchEvent(event);
return false;
}
return false;
}
};
}
效果图片: