[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『種類ごとにわける』(パンジーワンコ)
一行に入っているものをそれぞれわけたいのです。
例)A列 B列 C列 D列 E列
1 種類 ●● ×× △△
2 ●●2台 2
3 ××1台、△△2台 1 2
B列には一種類のものだけでなく、二種類、三種類一緒のものもあり、
それらは、「、」で並んでいます。
よろしくお願いします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
今 提示なさっているのは、現状でしょうか。
それをどの様にしたいと思っていらっしゃるのでしょう。
分けたいというのはわかりますが、どう分けてどこに何を入れたいのかが
分からないので
(パオ〜〜ン) 2017/06/21(水) 10:02
台数は1桁だけなのか、2桁以上の場合もあるのか? (ねむねむ) 2017/06/21(水) 10:19
もし、2桁以上もある場合は最大何桁になるだろうか? (ねむねむ) 2017/06/21(水) 10:25
Dim c As Range, d As Variant For Each c In Range("B2:B" & Rows.Count).SpecialCells(xlCellTypeConstants) For Each d In Split(c.Value & "、", "、") shori d, c.Row Next d Next c End Sub Sub shori(arg, gyou) Dim i As Long, dai As String For i = 1 To Len(arg) If IsNumeric(Mid(arg, i, 1)) Then dai = dai & Mid(arg, i, 1) Next i If Not Rows(1).Find(Replace(arg, dai & "台", ""), , xlValues, xlWhole) Is Nothing Then Cells(gyou, Rows(1).Find(Replace(arg, dai & "台", ""), , xlValues, xlWhole).Column).Value = dai End If End Sub (mm) 2017/06/21(水) 10:58
>パオ〜〜ン様
数量をカウントしたいですが、データを落としているので、B列にはいろんな種類が混ざってしまっています。
B列にはいっているものが●●は何台、××は何台・・・とかぞえたいです。
それを隣の列にいれられればと思いました。
>ねむねむ様
台数は一桁だけではなく2桁もありえます。
(パンジーワンコ) 2017/06/21(水) 11:06
ありがとうございます。
うわ〜難しい式がたくさんありますね。。。。
これでやってみます。
ありがとうございました。
(パンジーワンコ) 2017/06/21(水) 11:07
Dim c As Range, d As Variant, dai As String, i As Long For Each c In Range("B2:B" & Rows.Count).SpecialCells(xlCellTypeConstants) For Each d In Split(c.Value & "、", "、") dai = "" For i = 1 To Len(d) If IsNumeric(Mid(d, i, 1)) Then dai = dai & Mid(d, i, 1) Next i If Not Rows(1).Find(Replace(d, dai & "台", ""), , xlValues, xlWhole) Is Nothing Then Cells(c.Row, Rows(1).Find(Replace(d, dai & "台", ""), , xlValues, xlWhole).Column).Value = dai End If Next d Next c End Sub (mm) 2017/06/21(水) 11:13
B2セルに =IFERROR(SUBSTITUTE(MID($B2,FIND(C$1,$B2)+2,2),"台","")*1,"") と入力して右および下へフィルコピー。 (ねむねむ) 2017/06/21(水) 13:43
Sub test() Dim a, i As Long, ii As Long, temp With Cells(1).CurrentRegion .Offset(1, 2).ClearContents a = .Value For ii = 3 To UBound(a, 2) For i = 2 To UBound(a, 1) temp = StrConv(a(i, 2), 8) If temp Like "*" & a(1, ii) & "*" Then a(i, ii) = Val(Mid$(temp, InStr(temp, a(1, ii)) + Len(a(1, ii)))) End If Next Next .Value = a End With End Sub
(seiya) 2017/06/21(水) 14:04
おっとしまった。 =IFERROR(SUBSTITUTE(MID($B2,FIND(C$1,$B2)+LEN(C$1),2),"台","")*1,"") と修正してくれ。 (前回の式だと種類の長さが2文字固定になっていた) (ねむねむ) 2017/06/21(水) 14:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.