我有excel表单,其中单元格包含字符串和数字值。我在计算数值时遇到问题。我需要一个函数来检查给定范围内的单元格并计算(求和)数值。结果必须是:8 + 4 + 10 + 12 + 12 + 5 = 51
要从8 / 4b和8b / 4获得8和4值,我使用此函数:
=IF(LEN(L27)=4,IF(ISNUMBER(SEARCH("b",LEFT(L27,2))),RIGHT(L27,1),LEFT(L27,1)),L27)
此功能运作良好,但是 1)它返回8和4值作为char,而不是数字。因此SUM函数给出错误 2)我怎样才能检查范围内的单元格并在这些条件下对它们进行求和(上面函数中的条件)
提前致谢
答案 0 :(得分:2)
我假设您的问题中显示的数据来自H27
到Q27
使用以下公式来完成您的目标:
=SUM(IFERROR(VALUE(IF(LEN(H27:Q27)=4,IF(ISNUMBER(SEARCH("b",LEFT(H27:Q27,2))),RIGHT(H27:Q27,1),LEFT(H27:Q27,1)),H27:Q27)),0))
这是一个数组公式,所以通过 Ctrl + Shift + 输入提交公式。
只是为了通知您,要将字符转换为数字,您可以使用VALUE
函数:
=VALUE(IF(LEN(L27)=4,IF(ISNUMBER(SEARCH("b",LEFT(L27,2))),RIGHT(L27,1),LEFT(L27,1)),L27))
答案 1 :(得分:1)
试试这个......
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<service android:name="org.eclipse.paho.android.service.MqttService" >
</service>
</application>
答案 2 :(得分:1)
这个怎么样:
=IF(LEN(L27)=4,IF(ISNUMBER(SEARCH("b",LEFT(L27,2))),VALUE(RIGHT(L27,1)),VALUE(LEFT(L27,1))),L27)
修改强>
把这一切都放在一个公式中,我只能想出这个怪物:
{=SUMPRODUCT(--(LEN(I27:N27)=4),--(ISNUMBER(SEARCH("b",LEFT(I27:N27,2)))),IF(ISNUMBER(VALUE(RIGHT(I27:N27,1))),VALUE(RIGHT(I27:N27,1)),0))+SUMPRODUCT(--(LEN(I27:N27)=4),--(ISNUMBER(SEARCH("b",RIGHT(I27:N27,2)))),IF(ISNUMBER(VALUE(LEFT(I27:N27,1))),VALUE(LEFT(I27:N27,1)),0))+SUM(I27:N27)}
这是一个数组公式,因此您需要使用Ctrl + Shift + Enter输入它。然后会自动显示这些括号{}
。不要手工输入。
至于范围,请将I27:N27
更改为您的范围。