• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロ(関数?)について質問です。)

エクセルのマクロ(関数?)について質問!

このQ&Aのポイント
  • エクセルのマクロ(関数?)について質問です。会社で、以下の資料作成を依頼されましたが、いろいろ調べましたが全くやり方の見当がつかないので、教えてください。
  • 病院に来院された患者さんの予約時間に関する情報を元に、3つのパターンに分けて数を把握するための方法を教えてください。
  • また、各パターンに応じたセルの色も変える方法も教えていただきたいです。至急の回答をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 「患者様の外来予約、受付状況」に関しては、まず、H11セルに次の関数を入力して下さい。 =IF(COUNT(INDEX($E:$E,ROW()),INDEX($G:$G,ROW()))=2,"予約時間"&INDEX({"に遅刻した。","通りの時間に受付。","よりも早く受付、"},SIGN(INDEX($G:$G,ROW()))+2)&IF(INDEX($G:$G,ROW())>0,"予約時間"&INDEX({"よりも早く検査実施。","通りの時間に検査開始。","後検査開始。"},SIGN(INDEX($E:$E,ROW()))+2),""),"")  そして、H11セルをコピーして、H12以下に貼り付けて下さい。

0716100555
質問者

お礼

有難うございます!! ほんとに、なんとお礼を言ったらいいのか。。 先ほど早速試してみましたが、全てうまくいきました。 本当に助かりました!!! 有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

No.5です! 画像をアップするのを忘れていました。 もう一度トライしてみます。 どうも失礼しました。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! 外しているかもしれませんが・・・ >・セルC11=D11-B11(時間のみ引き算したいのですが、日付も入っているので出来なくて困ってま>>>す。。以下同様) に関しては計算式が入っているセルの表示形式をユーザー定義から [m] としてみてください。 おそらく普通に表示されると思います。 F11セルに =IF(E11<0,0,E11) という数式を入れF11セルのフィルハンドルでダブルクリック (F列の表示形式も当然 [m] とします) H列の表示方法ですが、一案として、Sheetを一つ挿入します(おそらくSheet1というSheet名になると思います) 挿入したSheet(Sheet1)に↓の画像のように表を作成しておきます。 H11セルに =VLOOKUP(SIGN(F11)*SIGN(G11),Sheet1!$A$1:$B$3,2,0) という数式を入れ、H11セルのフィルハンドルでダブルクリック! 最後に色づけですが すべて条件付き書式で Excel2003の場合で説明します。 C列すべてを選択 → メニュー → 書式 → 条件付き書式 → 数式が → 数式欄に =G1<0 として 書式 → パターン → 黄色を選択 E列すべてを範囲指定 → ・・・中略・・・ → 数式欄に =F1*G1>0 として 黄色を選択 F列すべてを範囲指定 → ・・・中略・・・ → 数式欄に =AND(F1<>"",F!=0) として 黄色を選択 Excel2007以降のバージョンでも同様ですが、最初の入りだけちょっと違います。 (2007以降の場合 範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・) あとの操作は2003と一緒です。 何とかご希望に近い形にならないでしょうか?m(__)m

0716100555
質問者

お礼

有難うございます!! いろんなやり方があるのですね。。勉強になります。 わたしの職場のエクセルのバージョンは2003なのですが、家だと2007なので 両方のやり方を知ることが出来て大変参考になりました。 有難うございました!!

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 因みに、他の列の関数ですが、C,G,F,G列の書式設定の表示形式を[標準]とした上で、 C列の関数を =IF(ISNUMBER(1/DAY(INDEX($B:$B,ROW()))/DAY(INDEX($D:$D,ROW()))),IF(INDEX($B:$B,ROW())>INDEX($D:$D,ROW()),"入力ミス",ROUND((INDEX($D:$D,ROW())-INDEX($B:$B,ROW()))*1440,0)),"") E列の関数を =IF(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))/DAY(INDEX($D:$D,ROW()))),ROUND((INDEX($D:$D,ROW())-INDEX($A:$A,ROW()))*1440,0),"") F列の関数を =IF(ISNUMBER(INDEX($E:$E,ROW())),IF(INDEX($E:$E,ROW())<0,0,INDEX($E:$E,ROW())),"") G列の関数を =IF(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))/DAY(INDEX($B:$B,ROW()))),ROUND((INDEX($A:$A,ROW())-INDEX($B:$B,ROW()))*1440,0),"") にするという方法もあります。  これら、4つの関数は、どの行に入力しても構いませんし、元テータであるA列、B列、D列のセルに対して、セルの「切り取り」、「削除」、「挿入」、「貼り付け」等の、「セルの配置をずらしてしまう編集操作」を行った場合でも、正常に動作するようになっています。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

【Excel2007よりも前のバージョンの場合】 「C11セル~表の枠内で最も下にある行のC列のセル」のセル範囲をまとめて範囲選択   ↓ メニューの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄に =AND(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))/DAY(INDEX($B:$B,ROW()))),INDEX($A:$A,ROW())<INDEX($B:$B,ROW())) か或いは =INDEX($H:$H,ROW())="予約時間に遅刻した。" と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた色のサンプルの中にある黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「E11セル~表の枠内で最も下にある行のE列のセル」のセル範囲をまとめて範囲選択   ↓ メニューの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「数式が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄に =AND(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))/DAY(INDEX($B:$B,ROW()))/DAY(INDEX($D:$D,ROW()))),INDEX($A:$A,ROW())>INDEX($B:$B,ROW()),INDEX($A:$A,ROW())<INDEX($D:$D,ROW())) か或いは =INDEX($H:$H,ROW())="予約時間よりも早く受付、予約時間後検査開始。" と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた色のサンプルの中にある黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「F11セル~表の枠内で最も下にある行のF列のセル」のセル範囲をまとめて範囲選択   ↓ メニューの[書式]ボタンをクリック   ↓ 現れた選択肢の中にある[条件付き書式]をクリック   ↓ 現れた「条件付き書式の設定」ダイアログボックスの左端の欄をクリック   ↓ 現れた選択肢の中にある「セルの値が」をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から2番目の欄にをクリック   ↓ 現れた選択肢の中にある[次の値に等しい]をクリック   ↓ 「条件付き書式の設定」ダイアログボックスの左から3番目の欄に 0 と入力   ↓ 「条件付き書式の設定」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[パターン]タブをクリック   ↓ 現れた色のサンプルの中にある黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式の設定」ダイアログボックスの[OK]ボタンをクリック

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

>あと、セルの色も、パターン(1)の時は列Cのセルが、パターン(2)の時は列Eのセルが、パターン(3)の時は列Fのセルをそれぞれ黄色になるようにしたいのです。  条件付き書式を設定する事で行います。  Excelでは、条件付き書式の設定方法を始めとして、幾つかの機能や操作方法が、そのバージョンによって異なっています。  ですから、Excelに関する御質問をされる場合には、必ず、御使用になられているExcelのバージョンを、質問文中に明記して戴く様、御願い致します。 【ExcelのバージョンがExcel2007以降の場合】 Excelウィンドウの[ホーム]タブをクリック   ↓ 表中の適当なセルを選択   ↓ 選択されているセル範囲を変えないまま、「スタイル」グループの中にある[条件付き書式]ボタンをクリック   ↓ 現れた選択肢の中にある[ルールの管理]をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =AND(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))/DAY(INDEX($B:$B,ROW()))),INDEX($A:$A,ROW())<INDEX($B:$B,ROW())) か或いは =INDEX($H:$H,ROW())="予約時間に遅刻した。" と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた色のサンプルの中にある黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄の中で、尤も上の欄をクリック   ↓ C1セルをクリック   ↓ 表中の最下段の行(表の枠内であれば空欄も含む)のC列のセルにカーソルを合わせてから、[Shift]キーを押しながら、マウスの左ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄の中に =AND(ISNUMBER(1/DAY(INDEX($A:$A,ROW()))/DAY(INDEX($B:$B,ROW()))/DAY(INDEX($D:$D,ROW()))),INDEX($A:$A,ROW())>INDEX($B:$B,ROW()),INDEX($A:$A,ROW())<INDEX($D:$D,ROW())) か或いは =INDEX($H:$H,ROW())="予約時間よりも早く受付、予約時間後検査開始。" と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた色のサンプルの中にある黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄の中で、尤も上の欄をクリック   ↓ E11セルをクリック   ↓ 表中の最下段の行(表の枠内であれば空欄も含む)のE列のセルにカーソルを合わせてから、[Shift]キーを押しながら、マウスの左ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[新規ルール]ボタンをクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[指定する値を含むセルだけを書式設定]をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」の左端の欄をクリック   ↓ 現れた選択肢の中にある[セルの値]をクリック   ↓ 「次の数式を満たす場合に値を書式設定」の左から2番目の欄をクリック   ↓ 現れた選択肢の中にある[次の値に等しい]をクリック   ↓ 「次の数式を満たす場合に値を書式設定」の左から3番目の欄に 0 と入力   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし]タブをクリック   ↓ 現れた色のサンプルの中にある黄色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの「適用先」欄の中で、尤も上の欄をクリック   ↓ F11セルをクリック   ↓ 表中の最下段の行(表の枠内であれば空欄も含む)のF列のセルにカーソルを合わせてから、[Shift]キーを押しながら、マウスの左ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[適用]ボタンをクリック   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの関数で質問です

    エクセルで、下記の様に同じ文字やセルを移動する関数はありますでしょうか。 (1)をF列の  (1)に (2)を     (2)に (3)を     (3)に の様な感じで規則的に何十段も続けたいのですが。  A B C D E F G H 1 2(1)         (1) 3(2) 4(3)         5(4)         (2) 6(5) 7(6) 8(7)          (3) 9(8)          ・ ・ ・ よろしくお願い致します。

  • Excelとピタゴラスの定理

    この表のA列には直角三角形の垂辺、C列には 同じく底辺、F列には斜辺の長さが書き込まれる。今、A2セルに3.00、C2セルに4.00、F2セ ルに5.00 の値を入れたので、垂辺・底辺それぞれの2乗の和であるE2セルの値と斜辺の2乗であ るG2セルの値は一致するはずである。それが一致しているかどうかを確かめる式がH2セルに入 れられている。H2セルをアクティブにして数式バーを見るとわかるように、このセルに入ってい る式は=E2=G2 というものである。すなわち、E2セルの値とG2セルの値が等しければ 論理値True を返し、そうでなければ同じくFalse を返す式である。この場合、当然True が返される。 次に、A3セルには式「=A2+ 0.03」を、C3セルには「=C2+ 0.04」を、F3セルには「= F2+ 0.05」を入れ、第3行目のその他のセル(B3,D3,E3,G3,H3)には第2行目の 同じ列のセルにある式を複写する。そうすると、ここでも垂辺:底辺:斜辺の長さの比は3:4: 5になっているからH3セルにはTrue が返されるはずである。 この第3行目のA列からH列まですべてのセルの式をそのまま下方に複写すれば、どの行でもA 列:C列:F列の値の比は3:4:5になるから、H列の値はすべてTrue になるはずである。実際、 どこまで複写しても同じ行のE列のセルとG列のセルに示された値は等しいように見える。しかし、 H列ではTrue ではなくFalse が返される場合がある。 1-A:垂辺 B:垂辺の二乗 C:底辺 D:底辺の二乗 E:二乗の和 F:斜辺 G:斜辺の二乗 H:E=G 2-A:3.00 B:9.00 C:4.00 D:16.00 E:25.00 F:5.00 G:25.00 H:TRUE 3-A:3.03 B:9.18 C:4.04 D:16.32 E:25.50 F:5.05 G:25.50 H:TRUE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24-A:3.66 B:13.40 C:4.88 D:23.81 E:37.21 F:6.10 G:37.21 H:TRUE 25-A:3.69 B:13.62 C:4.92 D:24.21 E:37.82 F:6.15 G:37.82 H:FALSE 26-A:3.72 B:13.84 C:4.96 D:24.60 E:38.44 F:6.20 G:38.44 H:FALSE この現象がどうして起きるのかを、高校生にわかるように、簡単に説明しなさい。 という問題なのです。教えてください。お願いします

  • 作成したいマクロがあります。。。

    どなたか教えてください。 マクロで、ある作業を自動化したいです。 【内容】 ある文字列の括弧内のみを取り出したいです。 【パターン1】   列1                  列2           列3    ・・・ 1 A123(D234,E567,・・・) 【パターン2】   列1                  列2           列3    ・・・ 1 B456(G785,H652, 2 C789,i951,j753 3 F963,K852・・・) 上記のように1つのセル内に( )が存在したり、また行をまたいで( )が存在したりします。 ※列は一定です。 その括弧内の文字のみをセルに分けて下記のように表示したいです。  列1                  列2               列3   ・・・ 1 B456(G785,H652,         G785              H652 2 C789,i951,j753           C789              i951        j753 3 F963,K852・・・)           F963             K852 抜き出したい文字列についてですが、1桁から10桁くらいまであります。 たとえば U2,R965482 等 以上です。どなたか教えてください。

  • エクセルでのインデックス関数について

    エクセルで任意の二列からセルの中身を引っ張ってきて組み合わせるものを作成しているのですが、うまくいきません。 以下のページを参考に作成しました http://okwave.jp/qa/q5883947.html 添付画像ではB、C列の2行目に結果が出るようにしてE,F列にランダムに取りたい値、G,H列に乱数を表示させています また、B2のセルには =INDEX($E$2:$F$100,MATCH(MIN(G$2:G$100),G$2:G$100,0),COLUMN(B1)) C2のセルには =INDEX($E$2:$F$100,MATCH(MIN(H$2:H$100),H$2:H$100,0),COLUMN(C1)) と入れてあります なぜエラーが出るのかが全くわからなく、困っています ご存知の方、どうかよろしくお願いいたします

  • EXCELのIF関数について

    9セルA1~J1に1~15の数のうちの10個が一つずつ入っており、セルA3~J3にも1~15の数が入っています。またA2~J2には、A~Jまでの英字が入っています      1 2 15 9 7 6 5 4 11 3        A B C D E F G  H  I  J       2 3 5 7 9 10 11 12  13 15   のとき                                          B J G E D    I        C   のようにA3列の値と同じ1列の数字の下の値を            A5 列に表示したいのですが、何度やってもできません。      良い知恵をお持ちの方、よろしくおねがいします。

  • 可視セルへのコピー マクロ

    次のように、可視セルから可視セルへコピーしたいです。 (元の状態) A   B     C     D   E   F 名前  支払  金額  名前 支払  金額 aさん 済    150 bさん 済    200 cさん 未    150 dさん 済    100 eさん 未    120 fさん 済    250 gさん 未    300 hさん 未    210 この状態をB列で支払が済んでるかどうかでフィルターをかけて ABC列をコピーし、DEF列に可視セルのみコピーして A   B     C     D   E   F 名前  支払  金額  名前 支払  金額 cさん 未    150  cさん 未    150 eさん 未    120  eさん 未    120 gさん 未    300  gさん 未    300 hさん 未    210  hさん 未    210 フィルターをはずすと A   B     C     D   E   F 名前  支払  金額  名前 支払  金額 aさん 済    150 bさん 済    200 cさん 未    150   cさん 未    150 dさん 済    100 eさん 未    120   eさん 未    120 fさん 済    250 gさん 未    300   gさん 未    300 hさん 未    210   hさん 未    210 と、未払いの人だけ、D列以降にもコピーされてる状態にしたいのです。 可視セルへのコピーはマクロを組む必要があると聞いて見てるのですが、 私が実現させたい可視セルへのコピーとまた違うプログラムでした。 どなたかよろしくお願いします。

  • 関数で、最大値のあるセルの列を表示したい

    エクセルの関数について教えてください。 セルH1に関数を使って、列A、列C、列E、列Gの最大値を出しました。 その下のH2のセルに、関数を使って、列A、列C、列E、列Fの最大値のある列(A,B,C,Dのいずれか)を表記させたいのですが(下記のように)、可能でしょうか?   A B C D E F G H 1 10 ※ 28 ※ 66 ※ 26 99 2 56 ※ 29 ※ 89 ※ 28 A 3 99 ※ 12 ※ 66 ※ 10 (列Hが上記のようになるようにしたいのです。)

  • excel マクロ

    エクセル マクロ 時間の計算 ・まずルールとして決められた時間 今回は『 8:00 』~『 17:00 』以外の時間外の『 同一日付 』の日付の計算をする エクセルのマクロを組もうと考えています。少し複雑な内容になります 考えている 作業としては 具体例を挙げますが (1) 『 同一日付 』の『 8:00 』~『 17:00 』《 以外にある時間外 》のまとめをしたい (2) この場合 08:30や16:50には反応せず 時間外の17:01~翌日の08:00までの時間外に反応するもの (3) その際 作業判定させるセルは横に並んだA、B、C、D、E、F、Gの中の『 C 』『 D 』『 E 』『 F 』『 G 』の与えられたデータで判定 (4) 基本的には下の例、 縦に並ぶ『 D 』セル内の 2012/07/10、7/12..と続く『 同一日付 』の時間外の時間を比較して (5) 『 同一日付 』の列の『 8:00 』~『 17:00 』《 以外にある時間外 》の 『 F 』と『 G 』セルの数字の最初の数字(時間)と最後の数字(時間)を取得し (6) 『 同一日付 』の列の『 8:00 』~『 17:00 』《 以外にある時間外 》の時間が重なっている 『 それ以外の時間 』には数字の上にーを引き《 エクセルの[ CTRL ]+数字の[ 5 ] 》で 引ける取り消し線 ーを引く 例 基本的に『 F 』に最小時間、『 G 』に最大時間が表示されます ≪総合判定で述べる判定方法では例外ありますが≫  17:10~17:20、 17:20~17:50とあれば 17:10~17:50と書き 『 (7)説明の動き 』   それ以外の時間には(6)の取り消し線を引きたい この際は17:10~17:20、 17:20~17:50の17:20に(6)の取り消し線を引きたい ※ 取り消し線を引いた行のセルの『 H 』セルのデータは削除 (7) 例 『 D 』セル内の 2012/07/10 の『 同一日付 』が終わる『 下のセル 』に 例( ● )黒丸の場所にセルを挿入し一旦『 空白を空け 』 その一旦『 空白を空け 』た『 A 』のセルに『 最初と最後の時間 』と書き込み その行の『 F 』と『 G 』に『 同一日付 』の数字の最初の数字(時間)と最後の数字(時間)と 『 G 』から『 F 』を引いた時間『 H 』の書き込みを 自動で処理し書き込むマクロを作りたいのです 例   A     D      F  G   H      2012/07/10   17:10 17:20 0:10      2012/07/10   17:20 17:50 0:30 ↓   A     D      F  G   H      2012/07/10   17:10 17:20                   ×      2012/07/10   17:20 17:50  セル挿入          × ●『 最初と最後の時間 』 17:10 17:50 0:40 ×が取り消し線あり (8) ・『 D 』セル内の比較する『 同一日付 』は『 縦に並んでおり 』、1つの時もあれば多くて20個 ・基本的に20日~翌月20日まで(土日祝が20日に当たれば18日~20日など前後しますが) (9) ・(5)のデータを取得し(7)の動きで『 同一日付 』の数字の最初の数字(時間)と最後の数字(時間) を書き込むので(7)で書き込む以外の 『 同一日付 』内の時間外の時間にはすべて取り消し線を引きます ・数字の上にーを引き《 エクセルのCTRL+数字の5 》で 引ける取り消し線を引き..が説明のテキストでは表現出来ませんでしたが..必要な作業です 例で 『 時間の下に× 』を書いて見ましたが、これが基本的な取り消し線を実行した感じの時です ◎ さらにここから先が総合判定要素として複雑なのですが『 同一日付 』内の時間外の時間の判定の仕方として 1.『 E 』セルに 《 休 》 表記あれば基本的に何も判定、動作なしでそのままの表記でOK。 ただし『 C 』セルに以下に説明する表記ある場合を除きます 2.『 C 』セルに『運転』と『予約』表記あり、その中で『停止』表記が出てきた場合には →『停止』表記の『 F 』のセルの数値を『最大値』として判定し(9)の動作の動き 『運転』と『予約』表記あり、その中で『停止』表記が出てきた場合には  その数値を『最大値』として判定し(9)の動作の動き(その時間は『停止』表記の時には『 G 』ではなく『 F 』に出てきます。) 3.『 C 』セルに『予約』、『予約取り消し』と連続して表記ある場合 『 同一日付 』で『 C 』セルに『予約』、『予約取り消し』と連続して表記があり、 『 D 』の日付『 F 』『 G 』の時間も同じならば(9)の動きで、その2行の『予約』、『予約取り消し』の 『 F 』『 G 』の時間には取り消し線、その2行の下に(9)の動きで『 H 』の場所に0:00と書き込みしたいのです 例   A   C     D      F   G   H      予約   2012/07/10  17:00 19:00 2:00    予約取り消し 2012/07/10  17:00 19:00 2:00 ↓   A   C     D      F   G   H      予約   2012/07/10  17:00 19:00                    ×  ×      予約取り消し 2012/07/10  17:00 19:00                    ×  × セル挿入           ●『 最初と最後の時間 』     17:00 19:00 0:00 4. 『 C 』セルに表記あるものとして『運転』『停止』『予約』『予約取り消し』の4種類の表記があります 5.『 同一日付 』の列の『 8:00 』~『 17:00 』《 以外にある時間外 》の処理を行いたいのですが 場合によっては『予約』や『運転』で処理動作の必要のない時間内から、動作の必要な時間外へと『予約』『運転』されている場合もあり 例 今回は『 8:00 』~『 17:00 』以外の時間外の処理なので、『 E 』の休日ではなく( 休日は◎の総合判定あれば処理必要 ) 6. 時間内~時間外へと進む時間外の処理動作 平日の『予約』や『運転』『 16:00 』~『 19:00 』の場合 ≪ 16:00 ≫~≪ 17:00 ≫は時間内なので動作処理の必要はなく 処理としては指定した時間  今回は『 8:00 』~『 17:00 』内の時間であれば  ≪平日≫の『予約』や『運転』『 16:00 』~『 19:00 』や『 06:00 』~『 08:00 』の場合 (9)の要領で 『 17:00 』~『 19:00 』とその時間内を含むセルの下に≪ 訂正 ≫をしてから処理したいのです 例   A     D      F  G   H      2012/07/10   16:00 19:00 3:00 ↓   A     D      F  G   H      2012/07/10   16:00 19:00                ×  × ●セル挿入 ≪ 訂正 ≫  17:00 19:00 2:00  ×が取り消し線あり 上手く伝えられているか分かりませんが、どうぞよろしくお願い致します

  • Excelでマクロを使用した削除に関して

    マクロ初心者です。 Excelにて、以下のような表データがあるとします。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50  a   b   c   d 3行  51  e   f    g   h    4行  52  i    j    k   l この表の中で、A列と1行目の値が同じになる交点となるセルの値"以外"を 削除して以下のように表示させたいのですが、 その方法がわかりません。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50      b       3行  51  e          h    4行  52          k    単純な行削除・列削除ではないため、 頓挫しています。お知恵を拝借したく、よろしくおねがいします。

  • エクセル マクロでセルを自動移動

    例1のようになっているエクセル表があります。 データは右方向、下方向へ増えます。 Cの列以降は4つ単位でしかデータは増えません。 それを例2の表のように列A,Bのデータはそのままに Cの列以降の4つのセルを区切りに下の行に移動して、 空白の列まで言ったらA2の行以降を最後の行まで繰り返しするという マクロを書くことは可能でしょうか。 出来ましたらそのマクロを教えてください。 例1 A1 B1 C1 D1 E1 F1 G1 H1 I1 J1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 G3 H3 I3 J3 K3 L3 M3 N3 例2 A1 B1 C1 D1 E1 F1 A1 B1 G1 H1 I1 J1 A1 B1 K1 L1 M1 N1 A2 B2 C2 D2 E2 F2 A2 B2 G2 H2 I2 J2 A3 B3 C3 D3 E3 F3 A3 B3 G3 H3 I3 J3 A3 B3 K3 L3 M3 N3

専門家に質問してみよう