2016-11-19 12 views
0

1つのExcelセルにカンマで区切られた数字の文字列があります。 A2 = "4,3,2,7"。セル内の数字を2で割ることができる式を、B2としたい。 B2 = "2,1,1,3"(奇数はむしろアップより切り捨てなければならない)Excel:カンマ区切りの単一セル番号を分割する

式を考慮することができる必要がある:
- 数字
の小さいまたは大きい文字列 - シングルとダブルの両方の桁番号の
- ている数字偶数か奇数
- ノーVBA
- 複数の列ではなく備えています(起因するセル位置に)列に区切られたテキストを使用することができます式

私はA2に数字の文字列を合計する式を取得することができましたでも2で割り切れません。文字列を合計するための数式は以下のとおりです。どんな助けでも感謝しています!

あなたの例では
{=SUM(IF(ISERR(VALUE(MID(A2,ROW($A$1:OFFSET($A$1,LEN(A2)-1,0‌​)),1))),0,VALUE(MID(‌​A2,ROW($A$1:OFFSET($‌​A$1,LEN(A2)-1,0)),1)‌​)))} 
+0

が常にあります4要素?私はそれがVBAなしで議論の可変数のために実行可能だとは思わない –

+0

このウェブサイトは "私にコードを教えてください"などではありません。まず、あなたが立ち往生した場合は、自分の数式/コードを書いてから、助けを求めてください。 – bzimor

+0

これまでに試したことを書き、目標と問題をより明確にする必要があります。 – quantummind

答えて

0

まあ、これは解決するために、私の第二の試みである(I希望)あなたの問題。あなたの文字列がセルA2である場合、セルB2 inotこのコードを入れ、その後:

=LEFT(IFERROR(ROUNDDOWN(MID(A2,1,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,3,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,5,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,7,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,9,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,11,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,13,1)/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,15,1)/2,0),""),LEN(A2)) 

それは最大8数文字列だけでなく、奇数で加工することができます。

更新この式は二桁の数字を扱うことができますが、それが唯一の1から4弦番号(例えば(25,5,36,48))にサポート

=LEFT(IFERROR(ROUNDDOWN(MID(A2,1,IFERROR(SEARCH(",",A2,1)-1,LEN(A2)))/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,SEARCH(",",A2,1)+1,IFERROR(SEARCH(",",A2,SEARCH(",",A2,1)+1)-SEARCH(",",A2,1)-1,LEN(A2)-SEARCH(",",A2,1)))/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1,IFERROR(SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)-SEARCH(",",A2,SEARCH(",",A2,1)+1)-1,LEN(A2)-SEARCH(",",A2,SEARCH(",",A2,1))))/2,0),"")&","&IFERROR(ROUNDDOWN(MID(A2,SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)+1,IFERROR(SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)+1)-SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)-1,LEN(A2)-SEARCH(",",A2,SEARCH(",",A2,SEARCH(",",A2,1)+1)+1)))/2,0),""),LEN(A2)) 
+0

これは1桁の数字に最適です。ありがとうございます!一桁と二桁の両方を調整することは可能ですか? 3桁以上を考慮する必要はありません。 – Brad

+0

更新し、私の答えを受け入れてください:) – bzimor

+0

ハ、良い音。より大きな文字列をサポートするように式を拡張していきます。ありがとうございました! – Brad

5

、セルB1にこの式を使用します。次に

=SUBSTITUTE(SUBSTITUTE(A1,",","000")/2,"000",",") 

結果は次のようになります。

| A | B | 
+---------+---------+ 
1| 4,2,6,8 | 2,1,3,4 | 
2| 
+0

創意工夫の象徴 - 私はもっと一般的な解決策がExcel2016を除いて可能であるとは思わないTEXTJOINを持つ2016 –

+0

私は、創造性。 –

+0

bzimor - 代替数式は偶数でも奇数ではなく、文字列が長い場合に有効です。 – Brad

関連する問題