プロが教える店舗&オフィスのセキュリティ対策術

Excelで質問です

1)プロジェクト(A B C.....)の各必要工程を納期から逆算したシート(納期計算)があります
  このシートは納期のみ入力し、中間工程納期を計算するものです
2)(1)のシートを個別に管理していましたが、
  これを1枚のカレンダーにまとめて管理しています(手動)。
3)いままでは(2)のカレンダーを手動で行っていましたが、
  これを納期計算シートで計算した日を自動で転記するようにしたいと思っています。
4)またプロジェクトは各月1~2単位で増加します。

【悩み】
固定されたプロジェクト数であれば(3)まではできたのですが、(4)の条件を満たすようにする方法を悩んでいます。
ある程度のプロジェクト数の上限を決めておけばできるのはわかるのですが、増加することを考えると難しいです。

また(2)のまとめるカレンダーにはvlookup等を組み合わせて表示していますが、
例えばA B Cの3つのうちBやCのみの予定がある場合は空白部分ができてしまいます。
これを上詰めで行う方法はありますか?

★Googleカレンダー等を利用すればある程度楽になるのはわかりますが、
 チームでExcelデータをクラウド管理するので、Excelで作成したいと思います。

=納期計算=============================
  起算日|中間①|中間②|最終納期
A:起算日を入力|計算[②-14日]|計算[最終ー21日]|最終納期を入力
B:・・・・・・
C:・・・・・・

=カレンダー============================
12日   13日
     A中間①
B 中間① 
C 中間②

回答お待ちしております。

A 回答 (2件)

一例を作成してみましたので、勉強の参考にして下さい。



Sub Sample()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim i As Long
Dim hizuke As Range
Dim pname As String
Dim tmp As Variant
Dim wrow As Long
Application.ScreenUpdating = False
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
Set hizuke = sh2.Range(sh2.Cells(1, 1), sh2.Cells(1, sh2.Cells(1, Columns.Count).End(xlToLeft).Column))
With sh1
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
If .Range("E" & i).Value <> "" Then
pname = .Range("A" & i).Value
tmp = Application.Match(CLng(.Range("C" & i)), hizuke, 0)
If IsError(tmp) = False Then
wrow = sh2.Cells(Rows.Count, tmp).End(xlUp).Row + 1
sh2.Cells(wrow, tmp).Value = pname & "中間①"
End If
tmp = Application.Match(CLng(.Range("D" & i)), hizuke, 0)
If IsError(tmp) = False Then
wrow = sh2.Cells(Rows.Count, tmp).End(xlUp).Row + 1
sh2.Cells(wrow, tmp).Value = pname & "中間②"
End If
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
「Excel プロジェクト行程をまとめるカ」の回答画像2
    • good
    • 0

入力表と出力表(カレンダー)の両方が左右、上下のマトリクス表なので、これを数式の範囲で解決するのは困難だと思います。


マクロであれば出来ますが。
    • good
    • 0
この回答へのお礼

やっぱりマクロ使わないとですか。
勉強します

お礼日時:2016/12/17 23:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!