No.1ベストアンサー
- 回答日時:
かなり手抜きではありますが、ユーザ定義関数を作ってみました。
以下のコードを標準モジュールに入れ、適当なセルに =fSample(A1) の様に入れて下さい。
#この例でのA1セルは変換対象の文字列が入っているセルです。
Function fSample(sData As String) As String
sOne = Split(sData, ",")
For i = 0 To UBound(sOne)
If InStr(sOne(i), "-") > 0 Then
sWork = Split(sOne(i), "-")
sOne(i) = sWork(0)
For j = Int(sWork(0)) + 1 To Int(sWork(1))
sOne(i) = sOne(i) & "," & j
Next j
End If
fSample = fSample & "," & sOne(i)
Next i
fSample = Right(fSample, Len(fSample) - 1)
End Function
No.2
- 回答日時:
次のようにしてもよいでしょう。
例えばA1お示しのようなデータが入力されているとします。
A1セルを選択してから「データ」タブの「区切り位置」を選択します。
「カンマやタブなどで区切られた・・・・」にチェックを付けて「次へ」、「カンマ」にチェックをしてから「次へ」、「表示先」が$A$1になっているところを$C$1に変更して「完了」します。
C1セルからお示しのケースですとH1セルまでにデータが表示されます。ここではM1セルまでにデータが表示されることも考えて次のようにします。
C2セルには次の式を入力してM2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。例えば10行まで下方に、
=IF(AND(COUNT(C$1)>0,C$1<41000),"",IF(AND(C$1>41000,COUNTIF(C$1,"*-*")=0),IF(ROW(A1)<=DAY(C$1)-MONTH(C$1)+1,MONTH(C$1)+ROW(A1)-1,""),IF(COUNTIF(C$1,"*-*")>0,IF(ROW(A1)<=MID(C$1,FIND("-",C$1)+1,3)*1-LEFT(C$1,FIND("-",C$1)-1)*1+1,LEFT(C$1,FIND("-",C$1)-1)*1+ROW(A1)-1,""),"")))
その後にN1セルには次の式を入力して右横方向にドラッグコピーします。
=IF(COLUMN(A1)>COUNTIF($C:$M,">0")-COUNTIF($C:$M,">41000"),"",IF(COLUMN(A1)=1,SMALL($C:$M,COLUMN(A1)),M1&","&SMALL($C:$M,COLUMN(A1))))
その後にB1セルには次の式を入力します。
=INDEX(N1:XX1,COUNTIF(N1:XX1,"*?")+1)
これでB1セルにはお求めのデータが表示されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) エクセルの印刷範囲をページ単位で可変にする方法 3 2022/05/23 13:04
- その他(Microsoft Office) 2019エクセル折れ線グラフで、Y軸を3つ作成したいのですがやり方が分かりません。 例 A 1.2. 1 2022/04/27 12:25
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- Excel(エクセル) エクセルの複写について 4 2022/04/10 01:02
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Excel(エクセル) 【VBA】エクセルで選択した範囲の値のみをクリップボードにコピーするコードについて 3 2023/03/08 17:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
貼り付けで複数セルに貼り付けたい
-
エクセルで縦に1112223...
-
(Excel)数字記入セルの数値の後...
-
エクセル 足して割る
-
エクセル “13ヶ月”を“1年1ヶ月...
-
LARGE関数 飛び飛びの範囲を指定
-
excelの特定のセルの隣のセル指...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
【Excel】 セルの色での判断は...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
エクセルの関数VLOOKUP...
-
EXCELで、角度の「50.5度」を「...
-
複数セルに入力した数字をカン...
-
EXCELでフルパスから2つ目¥を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報