2016-03-28 7 views
0

私はこのP-1-A6E100を私のbinIdのデータとして持っています。 これは、モジュールA、一階が読み出され、通路6、棚E、スロット100 Iは、私はそれが1である場合に通路の数を引き出すために作られた式を有する2または3桁:Excelに、テキストデータにアクセスするエクセル式で、テキストデータの文字 "E"を数学関数として使用しないようにするにはどうすればよいですか?

=IF(ISNUMBER(VALUE(MID([@binId],6,3))),VALUE(MID([@binId],6,3)),IF(ISNUMBER(VALUE(MID([@binId],6,2))),VALUE(MID([@binId],6,2)),VALUE(MID([@binId],6,1)))) 

棚に「E」が表示されると、通路番号が正しく表示されません。この場合:「60」

今のところ、「E」をプレースホルダ文字に置き換えることに決めましたが、より単純な方法があるのだろうかと思います。

+0

によって機能を乗算機能の前にそして、はい、私はあらゆる方法でのセルの書式を設定しようとした - あなたは数としてそれを必要とする場合のいずれかに置きます。数式自体は問題がある場所です。 –

+0

6 * 10^1、すなわち60の場合、 "6E1"という文字を[E表記](https://en.wikipedia.org/wiki/Scientific_notation#E_notation)と解釈します。私はビンの数はそれらのフォーマットに関して変更可能なので、ビン番号の部分を解析するより良い方法を考案する必要があります。 –

答えて

0

次の番号は、1,2番または3番の番号を引き出す必要があります。基本的には、ailse番号の最初の文字の後の文字が数字かテキストかをチェックしています。あなたの番号の長さを測定する。結果に基づいて、そのチャンクをテキストとして評価します。テキストとしてそれを返すか、1

=IF(ISNUMBER(--MID([@binId],7,1)),IF(ISNUMBER(--MID([@binId],8,1)),MID([@binId],6,3),MID([@binId],6,2)),MID([@binId],6,1)) 
+0

ありがとうございました!このソリューションは機能します! –

関連する問題