A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
今さらですが、「1日4日」→「1日・4日」に変換する数式です。
【G9セル】=SUBSTITUTE(TRIM(SUBSTITUTE(G3,"日","日 "))," ","・")
No.5
- 回答日時:
こんにちは!
一気に表示する方法にしてみました。
VBAになりますが一例です。
↓の画像のように元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1のA列はシリアル値ではなく、文字列だという前提です。
標準モジュールにしてください。
Sub Sample1() 'この行から//
Dim i As Long, k As Long, lastRow As Long
Dim myStr As String, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(wS.Cells(2, "B"), wS.Cells(lastRow, "B")).ClearContents
End If
With Worksheets("Sheet1")
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
Set c = .Rows(2).Find(what:=wS.Cells(i, "A"), LookIn:=xlValues, lookat:=xlWhole)
For k = 3 To .Cells(Rows.Count, "A").End(xlUp).Row
If .Cells(k, c.Column) = "休み" Then
myStr = myStr & .Cells(k, "A") & "・"
End If
Next k
If myStr <> "" Then
wS.Cells(i, "B") = Left(myStr, Len(myStr) - 1)
End If
myStr = ""
Next i
wS.Columns.AutoFit
End With
End Sub 'この行まで//
※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
No.4
- 回答日時:
G4: =IFERROR(SMALL(IF(OFFSET($A$1,2,MATCH($F4,$2:$2,0)-1,31,)="休",ROW(A$1:A$31),""),COLUMN(A1)),"")
【お断り】上式は必ず配列数式として入力のこと
No.3
- 回答日時:
No.2 の追補
・「115」ではなく「114」ですね。(頭の「・」の分を引かないといけませんでした。まぁ「114」以上なら何でもいいんですけどね)
・ MID関数は、頭についてしまう「・」を消すために使っています。
No.2
- 回答日時:
こんなのはいかがですか?
① K3セルに「=IF(B3="休み","・" & $A3,"")」を入力
② それをL3セルとM3セルにコピーする。
④ K4セルに「=IF(B4="休み",K3 & "・" & $A4,K3)」を入力
⑤ それをL4セルからM33セルまでにコピーする。
⑥ K列からM列を非表示にする。
⑦ G4セルに「=MID(K33,2,115)」を入力
⑧ G5セルに「=MID(L33,2,115)」を入力
⑨ G6セルに「=MID(M33,2,115)」を入力
※ ちなみに⑦~⑨の「115」は全部休みになった場合の文字数です。
No.1
- 回答日時:
補足の方なら、②のIF関数のところで、単に日にちを表示させるのではなく、
該当する場合で更にそれが1回目の休みであれば日付を表示、2回目以降であれば・と日付を上のセルに追加する。
該当しない場合は上のセルをそのまま表示する。とすれば、月末の表示がそのまま求めるものになります。
(1日のみ上のセルが埋まっているので、今のままにします)
最初にあるAさんの例では、
1=該当しないので空白
2~3=該当しないので上のセルと同じ=空白
4=該当して更に1回目なので4日と表示
5=該当しないのでそのまま4日と表示
6=該当して2回目以降なので・6日を追加し、4日・6日と表示
7~12=該当しないのでそのまま4日・6日と表示
13=該当して2回目以降なので・13日を追加し、4日・6日・13日と表示
14~20=該当しないのでそのまま4日・6日・13日と表示
21=該当して2回目以降なので・21日を追加し、4日・6日・13日・21日と表示
22~31?=該当しないのでそのまま4日・6日・13日・21日と表示
といった具合になりますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセルの関数を教えてください。② 9 2023/05/25 15:28
- Excel(エクセル) 名前と日付が一致する箇所にフラグを立てる関数が知りたいです 4 2022/08/11 02:24
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) <スプレッドシート>IF関数の複数条件について 5 2022/10/27 14:38
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
- Visual Basic(VBA) A列にある値をB列・C列にVBAで切り出し 3 2022/04/09 19:20
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Excel(エクセル) エクセル関数について 8 2023/06/28 17:04
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
IF関数で「休み」を日にちで出し、TEXT関数で羅列させることはできました(①~③)。
④の、区切りを入れる方法が分かる方お願いします!