• 締切済み

Excelの数式が全く分かりません

下記の様な表を作っていますが、ステータス”A”を入れる部分の数式が分かりません。 B列からH列は基本情報を扱っていて、曜日とその曜日に該当する項目に○がついています。 J列以降は横軸のカレンダーになっていて、5月、6月と進んでいきます。 設定したいことは、基本情報の曜日の○がついていたら、J列以降の該当する曜日にAがつく。ということです。項目Aの日曜が○だったら、4/2、4/9にステータスAが入るというかたち。 何を組んでよいのか全く分からないので、ご教授願いたいと思います  A列  B列 C列 D列…H列  J列 K列 L列 1                4/2 4/3 4/4… 2      日 月 火 土   日 月 火 3 項目A ○         A 4 項目B   ○ ○       A  A

みんなの回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.8

またまたすみません。 よく読んだら、日付のしたに表示するのは”A"なんですね。 以下の様に式を訂正します。 =IF(OFFSET($A3,0,WEEKDAY(J$1))="○","A","")

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.7

すみません、式を入れたのはJ2セルではなく、J3セルでした。

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.6

添付の図のような配置だとして、J2に↓の式を入れてコピーでどうでしょう。 =""&OFFSET($A3,0,WEEKDAY(J$1))

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

ざっと質問を読んで、(表の仕組み、関連性が)よくわからない。 下記が私の理解不十分なら、無視してもらって結構。 (1)4/2,4/3、4/4は日付と思うが、A列からH列のどの列に日付があるのですか。 B列以右の、日 月 火 土が該当する日付に当たるが、隠れているのですか。 (2)質問例で、K列、L列のA、AはB、B(左部分では4 項目Bの行は、月火を意味しているのでしょう?)ではないのですか。 ーー 一般論として、ここがこうだから、あそこはこうだしたい、という書き方をすべきと思う。 B列3行は日曜に丸があるから、右部分(J列より右)の日曜の列にAを入れたい。 すると左部分(B-H列)の月では項目Bなので、K列はBという風に。

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.4

回答No.3です。 すみませんでした。 下から5行目の、 Cells(4, i + j).Value = "B" の「"B"」を「"A"」にしてください。

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.3

2行目のB列から曜日が、3行目と4行目がそれぞれ、項目「A」、「B」(質問では両方とも「A」となっていますが、勝手な解釈で4行目を「B」としています)に対して「○」が入っている、という前提条件で、 「Alt+F11」→新たに現れた画面のメニューから「挿入」→「標準モジュール」→右側に白い画面が表示されるので、そこに以下のマクロをコピー&ペーストし、「F5」で結果が得られています。 Option Explicit Sub Test() Dim i, j As Integer For i = 2 To 8 If Cells(3, i).Value = "○" Then For j = 8 To Range("J2").End(xlToRight).Column - 6 Step 7 Cells(3, i + j).Value = "A" Next j End If If Cells(4, i).Value = "○" Then For j = 8 To Range("J2").End(xlToRight).Column - 6 Step 7 Cells(4, i + j).Value = "B" Next j End If Next i End Sub

pocopizz
質問者

補足

ご解答ありがとうございます。 ステータスについては、○がついていれば全てステータスAがつく状態なれば大丈夫です。項目BだからステータスBがつくというのではありません。

  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.2

>基本情報の曜日の○がついていたら、J列以降の該当する曜日にAがつく。ということです。>項目Aの日曜が○だったら、4/2、4/9にステータスAが入るというかたち。 対応する曜日のところ 例えばJ3ならばB3を見るだけの話ですので J3に =if(b3="○","A","")   ←○ならA、それ以外なら何もしないということ と入力して、 後は縦・横にコピーすればOKです。

  • mpascal
  • ベストアンサー率21% (1136/5195)
回答No.1

たとえばJ3のせるは、=if($B3="○","A","") これを各曜日ごとにつくってあとコピーするだけ。

関連するQ&A

  • 表を作るための関数またはマクロを教えてください

    今日の朝方に質問した内容を再度、上げさせていただきます。 内容の説明が上手く出来ていなかったため、異なる回答をいただいてしまったためです。 現在、添付した画像のような表を作っています。 E列はリスト名(項目名)、I列からO列は曜日になっていて、 ○が付いている日はその項目を処理する日になります。 例:リストAは月・火・水・木に処理/リストBは水のみ処理 ここはリストの基本情報的な部分です。 AC列以降は管理部分で、横軸カレンダーになっています。 ここで該当する曜日にステータスが立つ仕組みにしたいのですが、 何を組んでよいのか全く分からないので、ご教授願いたいと思います。 ※例として1をステータスに見立てています) ※4/29の先は4/30(木),5/1(金),5/2(土)と進んでいくかたちになっています。 完成形はリストAはこの先4/27,4/28,4/29にステータス1、 リストBは4/29にステータス1が自動的に付くような形になります。

  • Excel 数式の応用

    何度も同じような質問で恐縮です。 下記のような土日を除いた日付データでセルA11、A12に期首、期末の日付を指定して、期間中のプラスのデータ個数を求める式は、どのような式でできるのでしょうか? マイナスのデータの個数は、先の質問の回答で、 {=SUM(IF((A1:A9>=A11)*(A1:A9<=A12)*(C1:C9<0)),1,0))} {=COUNT(IF((A1:A8>=A11)*(A1:A8<=A12)*(C1:C8<0),1))} または =SUMPRODUCT((A1:A9>=A11)*(A1:A9<=A12)*(C1:C9<0)) でできるので、<0を>0にしたところいずれも違算になります。 ( 9行以降は行の挿入で新たなデータが追加されます。A列・・日付 B列・・曜日 C列・・数値等) 列行 A  B  C  1 10/01 金 3 2 10/04 月 4 3 10/05 火 空欄 4 10/06 水 -2 5 10/07 木 文字 6 10/08 金 5 7 10/11 月 0 8 10/12 火 2 9 10 ------------------------------------ 11 10/04 (期首) 2 (←セルC11にプラスのデータ数の個数を出したい) 12 10/11 (期末)

  • エクセルで文字検索を簡単に。

    エクセルで文字検索を簡単にする方法はありますか? B列2行目以降に年月日(曜日)・・・同じ年月日(曜日)の行がたくさんある場合もあります。 C列以降はB列に関する文字が入力されています。 検索対象は年月ですが、検索するのに標準コマンドで検索すればよいことかと思いますが、年月日(曜日)がかなり増え、簡単に検索する方法がないかと、ネットなどで調べましたがなかなかヒットしません。 H19年4月、5月・・・H20年1月、2月・・・・○○年月の文字を1行目に作成し、その文字をクリックすると該当する年月の行の始まりまたは、該当する年月の行のいずれかを表示させる方法はありますでしょうか? エクセルは2000です。 参考サイト等ご存じでしたらよろしくお願いします。

  • Excel 配列数式の応用?

    先の質問で、下記のことができるようになりました。 下記のような土日を除いた日付データでセルA11、A12に期首、期末の日付を指定すると、その期間の合計がセルC11に{=SUM(IF((A1:A9>=A11)*A1:A9<=A12),C1:C9,""))}の式で出せるようになりました。 平均もSUMをAVERAGEに変えて出せるのですが、 期間中のマイナスのデータ個数 =COUNTIF(C3:C9,"<0") のような値を 期首、期末の日付の指定で求める式は、どのような式でできるのでしょうか?お教え下さい。 ( 9行以降は行の挿入で新たなデータが追加されます。A列・・日付 B列・・曜日 C列・・数値等) 列行 A  B  C  1 10/01 金 3 2 10/04 月 0 3 10/05 火 空欄 4 10/06 水 -2 5 10/07 木 文字 6 10/08 金 -1 7 10/11 月 4 8 10/12 火 2 9 10 ------------------------------------ 11 10/04 (期首) 2 (←セルC11にマイナスのデータ数を出したい) 12 10/11 (期末)

  • エクセル 条件の合うセルに自動入力するには

    多分、関数だけではできないと思いますが教えて下さい。   A B C D E F G H I J K 1 08/4 08/5 08/6 2 08  4  1 09 3 31 月 1000 3 08  5  1 09 4 30 年 18000 4 08  6  1 09 5 30 四半期 1500 A列~C列:年月日 D列~F列:年月日 G列:月/年/四半期 H列:お金  H2⇒毎月1000円と言う意味  H3⇒年間18000円と言う意味(自動で毎月にする)  H4⇒四半期1500円と言う意味(自動で毎月にする) やりたいこと! A列~H列へデータを投入すると (1)A2、B2に該当するI2から、D2、E2の該当するT2まで1000を自動投入 (2)A3、B3に該当するJ3から、D3、E3の該当するU3まで1500を自動投入 (3)A4、B4に該当するK4から、D4、E4の該当するV4まで 500を自動投入 というようなことはできないでしょうか? そして、下のようになればいいのですが...。   A B C D E F G H I J K 1 08/4 08/5 08/6 2 08  4  1 09 3 31 月 1000 1000 1000 1000 3 08  5  1 09 4 30 年 18000 1500 1500 4 08  6  1 09 5 30 四半期 1500 500 もともとの表の作りも悪いのかもしれませんので、表の作りを変えるのは問題ありません。 例えば ・年月はA列、B列に分けずに1つのセルでも問題なし。 ・逆にI1、J1はセルを分けても問題なし。 ただし、 ・I1からJ1、K1・・・は08/4から10/3の2年間程度あるものとする。 できるのでしょうか。 よろしくお願いします。

  • EXCEL DATE関数の使い方を教えてください

    初心者です。よろしくお願いします。 DATE関数で2010年の年間行事を作りたいと思います。 A1に2010を入れます。 A3~A33に 4月の日1~30を入れます。 B3~B33に 4月の曜日を入れます。 C3~C33に行事を入れます。 土曜日と日曜日と祭日はA・B・C列を塗りつぶしをしたい。 5月以降同じようにしたい E3~E33に日にちを入れる。 D3~D33に曜日を入れる。 F3~F33に行事を入れる。 という具合にしたいのですが どのようにしたろよいのか教えてください。 日にちは 数字だけ 曜日は  月・火など1文字だけ入れたい よろしくお願いします。

  • Excelの数式について教えてください

    Excel2000を使っています。 添付ファイルにあるようなデータを、 (・A列・・・店名 ・B列・・・7つほどの項目 ・C列・・・数字(B列の項目に関する数字) 店名ごとに、B列の項目”い”と”か”の行の、C列の数字を 別シートに返したいです。 別シートに返す場合も、添付ファイルにあるように ・A列に店名 ・B列に”い”の項目の数字(元データC列の数字) ・C列に”か”の項目の数字(  〃  ) 以上のように返したいです。 マクロではなく、数式を使ってできますでしょうか? 添付ファイルが見えづらく、さらにわかりづらい文章で申し訳ありませんが、よろしくお願い致します。

  • エクセル2003 日付を入れると曜日が入る関数

    A列に日付を入れると B列に曜日(日/月/火の様な)が入るような関数式はありますか。 教えてください。 宜しくお願い致します。

  • Excelで飛ばし連番

    Excelで連番をふりたいのですが、下記のようなことは可能でしょうか? A列に曜日、B列に連番なのですが、 土曜日と日曜日は飛ばしたいのです。 連番が1000ほど続くので、何かいい方法はないかと考えています。 宜しくお願いいたします。   A B 1 月  1 2  火  2 3 水  3 4  木  4 5 金  5 6 土 7 日 8  月  6 9 火  7   ・  ・   ・  ・   ・  ・ Excel2002を使用しています。

  • エクセル勤務表作り

    初めて作る為困っています。A列に日にち、B列に曜日が出るようにカレンダーを作りました。 C列に名前を入れています。休みの曜日が固定されているので(例えば月、木とか)何かをすると、自動的に休みの曜日に○がつくという事はできるのでしょうか? 初心者なので教えて下さい

専門家に質問してみよう