[[20250417063208]] 『決まった文字を入力』(タカ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『決まった文字を入力』(タカ)

Excelで1ヶ月分のシフト表を毎月作成しています
勤務は日勤、早番、遅番、夜勤、夜勤明け、休みで日、早、遅、夜、明、休の様に頭文字を入力しています。
早、遅、夜、明は固定で続くので早を入力したら遅夜明と自動で入力される様に関数や設定で出来ないでしょうか?可能ならやり方を教えていただきたいです


B2セルに早を入力。C2セル遅。D2セル夜。E2セル明。F2セル休と自動で入力される

宜しくお願い致します

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 半自動で良ければ「ユーザー設定リスト」を設定して、
 B2に「早」と入力して、右方向へフィルするとか。

 ユーザー設定リストの作り方
https://www.crie.co.jp/chokotech/detail/222/

 全自動で行うなら、Excel2019だとスピル機能が無いので、
 マクロを使う事になるのでは。
(にわか) 2025/04/17(木) 08:07:56

 >F2セル休
 休も?

 C2セル
 =MID(SUBSTITUTE("早遅夜明休",$B2,""),COLUMN(A1),1)
 F2までコピー
(TI) 2025/04/17(木) 08:16:37

おはよ〜ございますぅ〜 (*^^*)
はやとちりの恐怖と憶測の役立たずコードでぇ〜す。。。^^;
m(__)m
お試の際は シート名 Sheet1 が存在する新規ブックにてどうぞ。( ̄▽ ̄;)

 Option Explicit
Sub OneInstanceProgram_Main()
    Dim i As Long
    Dim j As Long
    Dim y As Long
    Dim cNt As Long
    Dim kAry(), fAry()
    Dim s As Date
    Dim e As Date
    fAry = Array("項目", "F1", "F2", "F3", "F4", "F5", "F6")
    kAry = Array("日", "早", "遅", "夜", "明", "休")
    s = DateSerial(2025, 4, 21)
    e = DateAdd("m", 1, s) - 1
    y = 1: cNt = 1
    With Worksheets("Sheet1")
        .UsedRange.Clear
        .Cells(y).Resize(, UBound(fAry) + 1) = fAry
        For i = s To e
            y = y + 1
            .Cells(y, 1) = Format(i, "mm/dd")
            For j = 0 To UBound(kAry)
                .Cells(y, j + 2) = kAry(j)
            Next
            ArrayRotate kAry
        Next
    End With
    Erase kAry, fAry
End Sub
Private Sub ArrayRotate(v)
    Dim i As Long
    Dim j As Long
    Dim tBl As Object
    Dim mSwap As Variant
    Set tBl = CreateObject("System.Collections.ArrayList")
    For i = 1 To UBound(v)
        tBl.Add v(i)
    Next
    tBl.Add v(0)
    v = tBl.ToArray
    tBl.Clear
    Set tBl = Nothing
End Sub
(隠居Z) 2025/04/17(木) 08:45:50

 ひょっとして、B2が「遅」だったら
 夜明休早にしたいのかな?

 C2セル
 =MID("早遅夜明休",MOD(FIND($B2,"早遅夜明休")+COLUMN(A1)-1,5)+1,1)
 F2まで右にコピー。
(TI) 2025/04/17(木) 09:03:09

例のように「早」から始まる規則性があるならば
=CHOOSE(COLUMN(A1),"遅","夜","明","休")
でどうでしょうか。
(?) 2025/04/17(木) 09:19:34

 >(?) 2025/04/17(木) 09:19:34
 B2には「早」しか入力しないという解釈なの?
(TI) 2025/04/17(木) 09:30:51


その通りです。
(?) 2025/04/17(木) 11:15:08

 ↑
 その解釈なら、B2にわざわざ「早」を入力する必要ないのでは?

 B2セル
 =MID("早遅夜明休",COLUMN(A1),1)
 右にコピー。
(TI) 2025/04/17(木) 12:01:12

>B2にわざわざ「早」を入力する必要ないのでは?
それもそうですね。
と言うことなので私のはスルーしてください。
(?) 2025/04/17(木) 12:09:19

早と入力した場合、右隣のセルから1セル事に遅、夜、明、休
と続く様に入力出来ればと考えていました

返信が遅れてしまい申し訳ありませんでした
皆様ご回答ありがとうございました
(タカ) 2025/04/28(月) 14:35:14


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.