図の②④⑤を自動化するエクセルファイルを作りたいです。
②は、O9以降のセルを以下(セル番号が合わない件は無視してください)として条件付き書式で塗潰したところで④が難しいことに
気づきました。

 ・「=IF($G5="","",IF((AL$3>=$H5)*AND(AL$3<=$I5),IF($A5="",IF($B5="",IF($C5="",IF($D5="",IF($E5="",6,5),4),3),2),1),""))」
 ・条件付き書式で1のときにピンク、2のときに・・・

②④⑤の手段で何か良い案はないでしょうか?
よろしくお願い致します。

「エクセル マクロ?VBA?についてご教示」の質問画像

質問者からの補足コメント

  • >No.1さま
    大変失礼いたしました。下記で如何でしょうか?

    「エクセル マクロ?VBA?についてご教示」の補足画像1
      補足日時:2017/03/20 18:39
  • 何度もすみません。下図では如何でしょうか?

    「エクセル マクロ?VBA?についてご教示」の補足画像2
      補足日時:2017/03/21 08:29
  • >No.3
    日付は1/1より12/31まで5行目M列以降に予め入力されています。
    以下、修正しました。
     ・作業1-1の部品3日付を入力 → 記載漏れです
     ・作業1-2の部品3日付を修正 → 入力日とガント側の日付が合っておりませんでした

    「エクセル マクロ?VBA?についてご教示」の補足画像3
      補足日時:2017/03/21 10:04
  • >No.4
    ご回答ありがとうございます。
    その場合、②ができなくなってしまいます。

      補足日時:2017/03/21 12:24
  • >No.5、6
    ご回答ありがとうございます。
    要件は本文のとおり②④⑤の自動化で、No.4にていただいたのは④のみの自動化と思います。

     ②①の期間を塗潰す
     ④③の日付に「部品1」「部品2」・・・を反映する
     ⑤必要部品(合計)を部品表より算出

      補足日時:2017/03/21 17:58
  • >No.7
    私の理解が足りず、No.4と6を併せて②④をどう実現するのか分りませんでした。
    「=MATCH(M$5,$I7:$L7)>0」のそれなりに色分けというのは?
    G列、H列の期間塗りつぶしの②を具体的にどのようにすればよいものでしょうか?

      補足日時:2017/03/22 08:52

A 回答 (10件)

条件付き書式、数式を使用 云々で



=AND($G6<=M$5,M$5<=$H6)
一色なら
M6:AQ8まで
これでいけるけど
行ごとに変えるなら上記式の
6を行に合わせて、7とか8とかでいいんじゃないでしょうか。

No6の式は部品1、部品2、部品3で塗り分ける式でした。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。②はこれで問題ございません。
ただ、④はNo.4を利用することとなりますよね?
条件が漏れていて恐縮ですが、セルにはメモを入れることとなりますので関数は入れたくないです。
この条件は後付けとなり、尚且つここまでご尽力いただいたので質問は一旦ここで区切らせていただきます。
長々とありがとうございました。

お礼日時:2017/03/22 15:36

てっきり②ができないというのでこの部品の表示のセルで何か見てるのかと思って続伸を塗り分けする式を書きましたが逆にもっと簡単ですよね。

色をいくつか書いてたので塗り分けだとおもいましたが別に何でも好きな色でいいですよね。今外なので戻り次第送ります。
    • good
    • 0

勘違いしました。

    • good
    • 0

No6反応ないのはどういうことですか?


②の話書いてんだけど。
    • good
    • 0

色見本がないのであくまで想像ですが


以下の式、
0,1,2と変えて条件書式で色分けすれば
それなりに塗り分け出来るけどそういう話ではないの?

=MATCH(M$5,$I7:$L7)>0
    • good
    • 0

>その場合、②ができなくなってしまいます。


それは僕に判る事ですか?
この画像と条件付き書式の式が整合してるんですか?

そもそも条件付き書式が適切かの問題では?
    • good
    • 0

M7に


=IFERROR(OFFSET($H7,5-ROW(),MATCH(M$5,$I7:$K7,0)),"")
で如何でしょうか?
勿論オートフィルで右と下に。
    • good
    • 0

日付がちゃんと読めないせいもあって


まだよく理解できてないんですが
7行目日付が部品2までしか入力されてないのに
部品3があるのはどう理解したらいいんですか?
    • good
    • 0

何が変わったんですか?


トリミングは いずこへ?
    • good
    • 0

逆におうかがいしたいんですが


添付画像の文字はお読みになれますか?

希望としては1/4サイズ〔縦横ともに半分)
位にトリミングして戴けたら助かります。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

QSUMPRODUCT($A$1:$A$10,$B$1:$B$10)とSUMPRODUCT($A$1:$A$10*$B$1:$B$10)

エクセルのSUMPRODUCT関数についてお尋ねします。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)
の違いは何でしょうか?
両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか?
正しいとすれば、なぜでしょうか?

Aベストアンサー

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算するように出来ています。最初、SUM関数に対し、そのように作られました。プログラムとしては、初歩的なものですが、そのアイデアは、今日まで、踏襲しているようです。このオリジナルの仕組みを考えたのは、VisiCalc の開発者、ブルックリン氏です。昔々、本で読んだことがあります。 PRODUCT関数とも共通です。3つの関数は、同じような仕様を持っています。

こちらが、本来の使い方です。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

つまり、
$A$1:$A$10 と $B$1:$B$10 の値を別々に取得しています。

では、
=SUMPRODUCT($A$1:$A$10,$B$1:$B$11)

とすると、なぜ、エラーが出るかというと、$B$11 に対応する数値が、NULL値(有効な値がない)だからです。それは、全体に反映させてしまいます。(理由は分かると思いますが、プログラムが途中で、エラーで止まってしまうからです)

ところが、こちらは、

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)

$A$1:$A$10*$B$1:$B$10 は、分割出来ません。したがって、この数式の中でのエラーは、そのまま、元の数式に反映されます。

ご自分で、ユーザー定義関数を作ってみれば分かります。VBAでも、同じように作ることが可能です。一度、試してみるとよいです。

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算...続きを読む

Q"$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32" を変数に置き換えたい

こんにちは。よろしくお願いします。いつもgooの皆さんには大変お世話になっています。
エクセルは2013です。どなたか教えてください。

質問内容
Wクリックの範囲指定が現状はこのようになっています
If Not Intersect(Target, Range("$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32")) Is Nothing Then

行を指定する32を
Dim shg as long
shg=32
とした場合、上記の範囲指定を & と変数 shg でつなげていくと、あまりにも長くなってしまいます
もっとスマートな書き方はないでしょうか

Aベストアンサー

If Not Intersect(Target, Rows(shg), Range("$B:$H, $K:$N, $P:$AH")) Is Nothing Then

Q=IF(A2="",A1,A2)

=IF(A2="",A1,A2)で
A2が0のときは、A1の表示のままで
0以外の数字が入ったときは、A2の表示にする方法を教えてください。

Aベストアンサー

=IF(A2=0,A1,A2)です。書いてあるのはA2がスペースの時の条件です。

QExcelでの表編集でC1に =IF(A1="",B1,A1)

Excelでの表編集でC1に =IF(A1="",B1,A1)
と以前文字データのある列A1、B1、2つからそれぞれ穴あき
を補いc1に表示する式=IF(A1="",B1,A1)を教えていただいたのですが
2列まではこの式で行けるのですが3列以上に対応させる記述が
分かりません。
3列以上の表示を一列にまとめる式を教えてください。
お願いします。

Aベストアンサー

条件が良く判りませんが?

セルB1が空白のとき、セルC1をセルD1に表示
という条件を追加すると
=IF(A1="",IF(B1="",C1,B1),A1)

こんな感じですが、イメージと違う場合は補足してください。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報