
No.2ベストアンサー
- 回答日時:
遅くなりました。
ツール→マクロ→VisualBasicEditorで挿入→標準モジュールを選び
表示される空白の部分に下記のプログラムを貼り付けると
ユーザー関数連休が使えるようになります。
但し条件があり連休は必ず隣接セルであること、
複数行にまたがらないことを条件にしてください。
例えば=連休(C5:AM5)等という感じで指定すれば
表示されると思うので試してください。
-------------------------------------------------
'
'連休をカウントします。
'2連休は1の桁に3連休は10の桁に4連休は100の桁に、5連休は1000の桁に返ります。
'
Function 連休(r As Range) As Long
Dim keta(10) As Integer, cnt As Integer
For i = 0 To 9
keta(i) = 0
Next
cnt = 0
For Each c In r
If c.Value > 9 Then
cnt = cnt + 1
Else
If cnt > 1 Then
keta(cnt - 2) = keta(cnt - 2) + 1
End If
cnt = 0
End If
Next
If cnt > 1 Then
keta(cnt - 2) = keta(cnt - 2) + 1
End If
For i = 0 To 6
連休 = 連休 + WorksheetFunction.Power(10, i) * keta(i)
Next
End Function
No.1
- 回答日時:
マクロは判りますか?一般の関数では難しいですがユーザー関数なら割と簡単ですから。
また休日のセルには「休」等の文字はありますか?この回答への補足
マクロは不得意です。
日勤-1 休日-10 年休-11 特別休暇-12 数字を入れることによりその日の勤務が表示されます。
休日なら、10を入れます。
因みに初歩的なミスですが、二連休(10+10=20)で1回、三連休(10+10+10=30)で1回としてみたら、三連休を20と20で分けてしまい、二連休2回となってしまいました。
どうぞユーザー関数教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの計算式もしくはシ...
-
一月の連休の求め方
-
6ヶ月経過日を算出する式
-
Googleアカウントが削除されて...
-
XCOPYでネットワーク越しにコピ...
-
フォルダの中に1個しかファイ...
-
Excelの「アクセシビリティ 検...
-
vssver2.scc って消してもいい...
-
拡張子はなぜ、大文字と小文字...
-
ファイルの開き方(拡張子なし)
-
ターミナルソフトで全スクロー...
-
Windows10 で登録した外字を他...
-
Windowsフォルダ内のファイルと...
-
ひとつのファイルを一括で複数...
-
XCOPYで指定したフォルダとファ...
-
Androidアルバムの画像を消去で...
-
バッチでEnterを認識させ...
-
Windows10のタスクスケジューラ...
-
フォルダーのプロパティで表示...
-
コマンドプロンプトからファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでの計算式もしくはシ...
-
6ヶ月経過日を算出する式
-
Excelで時給計算、10:30時間を...
-
エクセル 数字並び替え
-
エクセルで簡単に粗利と利益率...
-
受注した数量を最大積載量に応...
-
excel 段階式歩合給与計算につ...
-
Excelで四捨・六入がしたいです
-
【VBA】結合セルの値をoffsetで...
-
エクセルについて
-
拡張子はなぜ、大文字と小文字...
-
複数のフォルダへ同時にファイ...
-
Excelの「アクセシビリティ 検...
-
Googleアカウントが削除されて...
-
フォルダの中に1個しかファイ...
-
ファイルの開き方(拡張子なし)
-
XCOPYでネットワーク越しにコピ...
-
ひとつのファイルを一括で複数...
-
フォルダの並び替えの項目を固...
-
Windowsフォルダ内のファイルと...
おすすめ情報