Excelで月間スケジュールを作りたいと思います。

複数案件の一覧表にし、案件の開始日と終了日の期間のセルに、自動で色が付くようにしたいです。
条件付き書式で出来るでしょうか?
どのような条件付けをすれば実現できますか?
添付画像のような表をイメージしています。

<やりたいこと>
(1)左側に日付を入れると、右側のカレンダー部分に色がつく。(開始日から納品日まで)
(2)受注日と納品日は濃い色を付ける。
(3)月をまたがる日付を入れてもエラーにならない。

<目的>
各案件への取り組み期間が一見してわかるようにしたいです。
複数案件の進行が重複し、稼働の重たくなる時期を確かめるためです。


※2003でも2007でも使える書式設定でお願いします。
※私はマクロの知識が乏しい&Excelスキルの低い同僚にも使ってもらうため、マクロは使いたくありません。
※のちのち数式が崩れたときにも修復が容易なように、シンプルな数式だとありがたいです。
※条件付き書式以外の方法で、上記が解決できるならそれも教えてください。



ご教授ください。よろしくお願いします。

「Excel日程表:開始日~終了日を自動で」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (5件)

こんばんは!


一例です。
カレンダーもシリアル値の方が何かと便利ですので、
余計なお世話かもしれませんが、↓の画像のようにカレンダーを作成します。
(開始日・受注日・納品日はすべてシリアル値で入力します)

A1セルに「西暦年」C1セルに「月」を入力します。
E3セル(セルの表示形式はユーザー定義から d とだけしておきます)に
=IF(MONTH(DATE($A$1,$C$1,COLUMN(A1)))=$C$1,DATE($A$1,$C$1,COLUMN(A1)),"")

E4セルに
=IF(E3="","",TEXT(E3,"aaa"))
という数式を入れ、E3・E4セルを範囲指定 → E4セルのフィルハンドルでAI列までコピーしておきます。
これで「年」・「月」を変更すればちゃんと大の月・小の月の対応ができます。

後は条件付書式で可能です。
Excel2003の場合
色を付けたいセル(E5セル以降)をすべて範囲指定
書式 → 条件付書式 → 「数式が」を選択 → 数式欄に
=OR(AND(E$3<>"",E$3=$B5),AND(E$3<>"",E$3=$D5))
として → 書式 → パターンから「赤」を選択

次に条件付書式 → 「追加」 → 上記と同様に数式欄に
=AND(E$3<>"",E$3>=$B5,E$3<=$D5)
として → ・・・ → パターンから「黄色」を選択
これで↓の画像のような感じになります。

※ Excel2007以降ですと、条件付書式 → 「数式を使用して・・・」という項目になると思います。
数式欄は同じ数式にします。

※ 条件が重複する場合は最初の条件付書式が優先されますので、
「受注日」・「納品日」の条件付書式を条件1にします。
Excel2007以降の場合は条件付書式の項目で上の行に表示されている方が優先されますので、
右側の▲▼で優先順位は自由に変更できます。

参考になりますかね?m(_ _)m
「Excel日程表:開始日~終了日を自動で」の回答画像4
    • good
    • 6

No.4です!


たびたびごめんなさい。

前回の投稿で「条件1」のセル番地に間違いがありました。
前回の数式では「開始日」と「納品日」(画像内)が「赤」になります。

=OR(AND(E$3<>"",E$3=$C5),AND(E$3<>"",E$3=$D5))
に訂正してください。

※ 投稿後にもう一度質問を読み返してみると・・・
アップされている画像に「終了日」らしきものが見当たりませんので
勝手に、納品日=終了日 としています。
実データに「終了日」・「納品日」がある場合は適宜アレンジしてみてください。

何度も失礼しました。m(_ _)m
    • good
    • 4

条件付き書式を使ったガントチャート


エクセルのデータを見やすくする5つの簡単なテクニック | コリス
http://coliss.com/articles/software/899.html
http://pc.nikkeibp.co.jp/npc/download/excel_task …

マクロで作ってしまった例
EXCELマクロでガントチャートを作ってみた - ITレシピ
http://mitsuyahiromi.sakura.ne.jp/fswiki/wiki.cg …
プロジェクト管理 - タスク管理表 -
http://www.neego.net/projectkanri/taskkanrihyo.h …


専用ツールがフリーでたくさんでているので、探すと楽しいかも知れません。
窓の杜 - 【REVIEW】使い慣れたExcelで日単位のガントチャートを作成できる「Excel Pro 工程表」
http://www.forest.impress.co.jp/article/2008/08/ …
Excel版ガントチャート
http://www.vector.co.jp/soft/winnt/personal/se48 …
ガントチャートforExcel
http://www.vector.co.jp/soft/win95/business/se28 …
Excelでガントチャート
http://www.vector.co.jp/soft/win95/business/se27 …

Excelにこだわらないなら
徒然なるままに  ガントチャートを作成するツールあれこれ
http://norimaki2000.blog48.fc2.com/blog-entry-23 …

参考URL:http://www.gansuke.com/
    • good
    • 0

》 (3)月をまたがる日付を入れてもエラーにならない



12月→1月のように「月をまたがる日付」の場合は、年も「またがる」けど、「年」は何処に入力するの?
これは「Excelスキルの低い」かどうかに無関係です。
    • good
    • 0

まあ、ビジュアル的にカレンダーに色を付けるのが一番分かりやすいでしょう。




普通に条件を満たす関数式を3つ作れば良いですよ?

それぞれどのような関数式にすれば良いのかが分からないということでしょうか。
条件1と条件2が重なるとセルの修飾がうまく反映されないのでしょうか。
それとも他に何か問題があるのでしょうか。

条件式は、IF関数で TRUE が返ってきたら良いように作れば良いです。
例:
 =IF(A1<100,TRUE,FALSE)
 ↓
 =A1<100

条件式の優先度は
  1>2>3
ですので、何よりも優先したい条件を条件1に設定しましょう。


なお、質問にあるカレンダーがどのような作りになっているのか不明ですので、
具体的な条件式などは質問者さんが知恵を絞って解決する事になると思います。
自力で解決することが基本ですので、代わりに作ってもらおうと考えてはいけません。
(それでは後輩に説明できませんよね?)
考える手助けなら、このQ&Aサイトでいくらでもできますから、気負うことはありません。
分からない点を具体的に示してみましょう。
例:
 A2セルに入力された日付がカレンダーの日付以上であるからは
 どのような関数式で判断すれば良いでしょうか。
 カレンダーの日付は、A1セルに年、B1セルに月、B2セルからAF2セルまで1から31の数値で判断します。
 関数式とその説明をお願いします。
など。


一番良い解決方法は社内の詳しい人にお願いして作ってもらうことなんですけど、
社内に頼る人がいないのでしたら自身の力を信じて挑戦してみましょう。
    • good
    • 2

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

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

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Q1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成

1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成したい。

2.別シートの月間予定表(1年分を横に並べている)では、月毎に
(1)当月分の左端に年間予定表の当月分、
(2)その右に、年間予定表の予定項目ごとに[列を与えて]整理して予定を書いている。

3.月間予定表の(1)を年間予定表と連動させたい。
即ち、年間予定表の予定項目を追加、書き換え、削除したとき、月間予定表の(1)が自動的に訂正されるようにしたい。

4.年間予定表は6月分をA4横1ページに、月間予定表は一月分をA4縦1ページにプリントアウトしている。画面で見るだけではなく、プリントも利用している。

 年間予定が時々変更になり、それに合わせて月間予定を書き変えねばならないので、連動すれば大変助かります。よろしくお願いします。






以下は多くの人にとって読む必要はないと思います。

ご助言の参考になればと思い、今使っている年間予定表・月間予定表の実態を示したものです。

☆年間予定表は1行目に月(1月から12月)
2行目以下は月ごとに、最左端(1月の場合A列)に日付、その次の列(1月の場合B列)に曜日 その次の列(1月の場合C列)に年間予定項目(例:箱根ドライブ、九州ドライブ、自治会総会…)を記入する。

☆別シートの月間予定表:
ア:各月ごと(例えば1月)の最初の3列は年間予定表(例えば1月)の月名、日付、曜日、年間予定項目をカット&コピーで張り付ける。
 又は、=関数を使う。即ち月間予定表のa列1行目に=を使って、年間予定表のa列1行目をもってくる。月間予定表のa列1行目を31日までドラッグして年間予定表に同期させる。同様のことを、残りの2列についても実行する。(この方法は1月分に3回、1年分で36回繰り返さなければならない。もっと楽な方法、ありません?)

イ:各月ごとの4列目から概ね10列目に年間予定項目ごとの詳細計画を記入する。
例えば、
4列目の1行目(タイトル行)箱根ドライブ
4列目の2行目以下の該当する日ごとに、(例えば4日)箱根の情報収集、(6日)旅館決定、(15日)ドライブ実施 
5列目の1行目(タイトル行)九州ドライブ
5列目の2行目以下の該当する日ごとに、(例えば8日)九州の情報収集、(10日)旅館決定、(11日)友人に連絡 (25日)ドライブ実施

以上です。

1.excelで年間予定表と別シートの月間予定表が連動した予定表を作成したい。

2.別シートの月間予定表(1年分を横に並べている)では、月毎に
(1)当月分の左端に年間予定表の当月分、
(2)その右に、年間予定表の予定項目ごとに[列を与えて]整理して予定を書いている。

3.月間予定表の(1)を年間予定表と連動させたい。
即ち、年間予定表の予定項目を追加、書き換え、削除したとき、月間予定表の(1)が自動的に訂正されるようにしたい。

4.年間予定表は6月分をA4横1ページに、月間予定表は一月分をA4縦1ペー...続きを読む

Aベストアンサー

>(2)I2セルに  =1*("2010年"&J$1&ROW()-1&"日")
=1*("2010年"&J$1&"1日")
で良いですねm(_ _)m
にしてください。1* を取ると 例として4月なら「2010年4月1日」になるはず。
1をかけることによって、シリアル値(数値)になります。

>I3セルに  =IF(DAY(I2)+1=DAY(I2+1),I2+1,"")
はI2セルがシリアル値なら計算されます。
単純に29日以降の処理なので 28日までは =I2+1だけでも同じ。

>(3)ただし、I2:I32セルの書式設定
問題なし。日付ではなく数値が出てくるので、見た目の問題だけ。
>(4)J2セルに  =IF(I2="","",INDEX(B2:G2,MATCH($J$1,$B$1:$G$1,0))&"")
これがメイン。
J1セル文字列で「4月」、 B1:G1セル文字列で 1月、2月、・・・
「4月」がどこにあるかをMATCH関数で探し、何番目かを数値で返す。
返された値をもとに、B2:G2セルの値を返します
「4月」が全角の「4月」になっていたり、空白が紛れていたりするなど、
完全一致していない可能性もありますので確認してください。

>(5)なお、「J1セルに月を入力すると、予定が切り替わる」ことが一番の望みなので上記のテストをしてみました。
良いと思います。

>ご指摘の「レイアウトが重要な気もしますが?」はその通りです。
レイアウトは、上記回答のレイアウトで目的が達成できそうなら不要です。
どのセルに何を入れているか。がわかれば、それに沿った回答をする。
そのほうが間違いな少なく、効率が良いじゃないですか。

>(2)I2セルに  =1*("2010年"&J$1&ROW()-1&"日")
=1*("2010年"&J$1&"1日")
で良いですねm(_ _)m
にしてください。1* を取ると 例として4月なら「2010年4月1日」になるはず。
1をかけることによって、シリアル値(数値)になります。

>I3セルに  =IF(DAY(I2)+1=DAY(I2+1),I2+1,"")
はI2セルがシリアル値なら計算されます。
単純に29日以降の処理なので 28日までは =I2+1だけでも同じ。

>(3)ただし、I2:I32セルの書式設定
問題なし。日付ではなく数値が出てくるので、見た目の問題だけ。
>(4)J2セルに  =IF(I2="...続きを読む

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

QExcel 年間スケジュール表作成

新年度に向けてスケジュール表を
作成しています。
週単位で予定を管理したいと考えているのですが、
その週の初めの日付を記載したいと考えています。
簡単に一括で記入できる方法を教えて頂きたいのですが?

       4月
1週目 2週目 3週目 4週目 5週目
4/1  4/4  4/11  4/18 4/25

上記のように1週目の初日から7日後が必ずしも
2週目の始まりではないのでどのように入力すれば
いいのかわからず困っています。
よろしくお願いします。

Aベストアンサー

こんばんは!
すでに色々回答は出ていますので・・・
参考程度で目を通してみてください。

↓の画像のようにA1セルに「年」・C1セルに「月」を入力します。

1週目は必ず1日になりますので
A4セルは
=DATE(A1,C1,1)
そして、B4セルに
=IF(MONTH(A4+(8-WEEKDAY(A4)))=$C$1,A4+(8-WEEKDAY(A4)),"")
という数式を入れ、列方向にオートフィルでコピーすると
画像のような感じになります。
(エラー処理はしていません)

以上、参考になれば幸いです。m(__)m

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Q異なるエクセル表の比較・色付け

ご質問させて下さい。

異なるエクセル表を比較し、
色つきで結果が分かる手法を探しています。

■詳細
・異なるエクセル表の内、共通する項目は1行のみ
・共通する1行の内、A表にしかないセル、B表にしかないセルが混在しています
・結果は色付きでなくとも結構です
 →別行にチェック(共通、A表にしかない、B表にしかない等)でも可
・手法はマクロでも、何らかのツールでも結構です
 →diffツールをいくつか試しましたが、意とする結果が得られませんでした

単純に検索を使ってもいいのですが、
対象の数が非常に多く、作業時間がもったいなく感じています。

ご教示、宜しくお願いたします。

Aベストアンサー

>エラーメッセージ(?)が
表示されてしまいます。

 申し訳御座いません、私のミスです。
 各数式を以下の様に修正してみて下さい。


Sheet1のA1セルの数式
【誤】

=AND(A1<>"",COUNTIF(Sheet2!$B:$B,A1)=0)


【正】

=AND(A1<>"",COUNTIF(INDIRECT("Sheet2!B:B"),A1)=0)


Sheet2のB1セルの数式
【誤】

=AND(B1<>"",COUNTIF(Sheet1!$A:$A,B1)=0)


【正】

=AND(B1<>"",COUNTIF(INDIRECT("Sheet1!A:A"),B1)=0)

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

QExcel2007で他のシートを参照して自動で表を作成したいと思ってい

Excel2007で他のシートを参照して自動で表を作成したいと思っています。

Sheet1には下記のようなシフトを作成しています。
  A    B   C   D   E   F
1     1日  2日  3日  4日  5日
2 Aさん  1   2   1   4   1
3 Bさん  2   休   4   1   4
4 Cさん  1   4   2   1   1
5 Dさん  4   1   1   2   2


Sheet2からはシート名が1日 2日となっています。
それぞれのシート毎にその日付のシフトを並び替えて作成したいと思っています。
【1日のシフト(Sheet2)】
1 Aさん
1 Cさん
2 Bさん
4 Dさん

【2日のシフト(Sheet3)】
1 Bさん
2 Aさん
4 Cさん

休みのスタッフは表示しないように作成したいと思っています。


エクセルでこの様な作業は可能でしょうか。

Aベストアンサー

何度もお邪魔します。

補足を読ませてもらいました。
数式の説明もしなければならないと思いますので、
長くなりますけどごめんなさい。

前回の数式はOFFSET関数とMATCH関数で1列目のA2~A100セルを基準に何列右側の列を参照するか?
というようにしていました。
MATCH関数で「参照の型」を完全一致にしていますので、Sheet2のA1セルの値と
Sheet1の1行目の日付の値が完全一致しなければ当然エラーになります。

というわけで、数式を変更してみたいと思います。
前回の表をそのまま使わせてもらいます。
条件として、AからAF列まであり、左から1日・2日・3日・・・31日 になっている。
そして、Sheet2のA1セルには日付の数値のみを入力。

Sheet2のA3セルに
=IF(COUNT(OFFSET(Sheet1!$A$2:$A$100,,$A$1))<ROW(A1),"",SMALL(OFFSET(Sheet1!$A$2:$A$100,,$A$1),ROW(A1)))
(配列数式ではありません。)

B3セルに
=IF(A3="","",INDEX(Sheet1!$A$2:$A$100,SMALL(IF(OFFSET(Sheet1!$A$2:$A$100,,$A$1)=A3,ROW($A$1:$A$99)),COUNTIF($A$3:A3,A3))))
(これは配列数式ですので、前回同様 Shift+Ctrlキーを押しながら、Enterキーで確定です。)

そして、範囲指定の問題ですが、数式を参照し順を追って説明したほうが良いと思います。
まず、最初の数式
=IF(COUNT(OFFSET(Sheet1!$A$2:$A$100,,$A$1))<ROW(A1),"",SMALL(OFFSET(Sheet1!$A$2:$A$100,,$A$1),ROW(A1)))
についてですが
前半部分の IF(COUNT(OFFSET(Sheet1!$A$2:$A$100,,$A$1))<ROW(A1),"", は
Sheet1のA2~A100セルを基準に、Sheet2のA1セルに入力した値だけ右側の列内で、
数値の数がオートフィルで下へコピーした行数より少ない場合はその行以降は空白にしなさい!
という単にエラー処理の数式です。
ここで ROW(A1)=1 のことですのでこれをオートフィルで下へコピーすると
ROW(A2)=2・ROW(A3)=3・・・という具合に数値が増えていきます。
(別にROW(A1)でなくてもROW(B1))としても同じことになります)

後半部分の SMALL(OFFSET(Sheet1!$A$2:$A$100,,$A$1),ROW(A1))) に関しては
OFFSET関数は先ほど説明した通りで、その中の小さい順に1行目から表示するようにしています。
SMALL(○○,ROW(A1)) は小さいものから1番目、これをオートフィルで下へコピーすると
ROW(A1)部分がROW(A2)となりますので、小さいものから2番目・・・という感じです。

これでSheet2のA列の数式に関しては理解いただけたと思います。

次に、=IF(A3="","",INDEX(Sheet1!$A$2:$A$100,SMALL(IF(OFFSET(Sheet1!$A$2:$A$100,,$A$1)=A3,ROW($A$1:$A$99)),COUNTIF($A$3:A3,A3))))
に関してですが、
INDEX関数の範囲指定はSheet1のA2~A100にしています。
そして、配列数式でOFFSET関数を利用し、その中のSheet2のA列と一致するものの行番号の小さい順に
表示させているのがB列の数式になります。
ここで配列数式の場合、気をつけないといけないのは
INDEX関数で範囲指定した行数と SMALL(IF(OFFSET(Sheet1!$A$2:$A$100,,$A$1)=A3,ROW($A$1:$A$99))
部分の ($A$1:$A$99) の行数を一致させるということです。
INDEX関数ではSheet1の名前列の2行目から範囲指定していますが、その中の何行目を表示するか?
ということになりますので、Sheet1のA2セルが1行目・A3セルが2行目・・・と1行ずつずれます。
もし数式を SMALL(IF(OFFSET(Sheet1!$A$2:$A$100,,$A$1)=A3,ROW($A$2:$A$100))
としてしまうと、結果が1行ずれてしまいます。

最後にCOUNTIFの部分を説明しようと思ったのですが、入力文字数に限界が来ていますので、
この程度で終わりにします。

長々と失礼しましたm(__)m

何度もお邪魔します。

補足を読ませてもらいました。
数式の説明もしなければならないと思いますので、
長くなりますけどごめんなさい。

前回の数式はOFFSET関数とMATCH関数で1列目のA2~A100セルを基準に何列右側の列を参照するか?
というようにしていました。
MATCH関数で「参照の型」を完全一致にしていますので、Sheet2のA1セルの値と
Sheet1の1行目の日付の値が完全一致しなければ当然エラーになります。

というわけで、数式を変更してみたいと思います。
前回の表をそのまま使わせてもらいます。
条件と...続きを読む

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

QExcel棒グラフの色付け

1月から12月までホームぺージへのアクセス数を棒グラフであらわしたいのですが、11月にホームページを更新したので、棒グラフを1月から10月までは同じ色にし、11月以降は1月から10月までとは別の色でなおかつ同じにしたいのです。つまり、1系列の棒グラフで2色を使用するわけですが、可能でしょうか。

Aベストアンサー

グラフ上で直接やることは可能です

11月の棒を選択し(このときは同一系列が全選択となる)
ちょっと間をおいて(ダブルクリックとならないように注意)もう一度11月の棒をクリックすると
その11月の棒だけがアクティブになるので
あとは「書式設定」で色なり何なり自由に変えることができます
12月分も同様にします

もっと汎用的にやろうとするとVBAを使うことになりますね


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

人気Q&Aランキング