• 締切済み

関数中の範囲を関数かマクロで変換する方法が知りたい

sheet1のE列に年度が入力されており、sheet1のb列からd列に文字が入力されています。 sheet2に「=countif(sheet1!B2:B13,"○"」という関数が入力されているのですが、年度ごとによって、B2:B13が、B14:B25というように置き換えるようにしていのです。 分かりづらい質問で申し訳ありませんが、ご教示いただきますようお願いします。

みんなの回答

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

こんにちは! 画像が小さくて詳細が判らないのですが、 Sheet1のE列には 平成24年度 のように文字列で12行ずつ年度が入力されているとし、 Sheet2のE2セルには Sheet1のE列データが入るとして、 Sheet2のA3セルに =IF(COUNTIF(Sheet1!$E:$E,$E2),SUM(OFFSET(Sheet1!$A$1,MATCH($E2,Sheet1!$E:$E,0)-1,COLUMN(A1),12)),"") という数式を入れフィルハンドルで右へ3列分コピーではどうでしょうか?m(_ _)m

関連するQ&A

  • エクセルでの関数

    エクセルでの関数 関数を使ってデータ処理をしようと思っています。 シート1の列Dにあるデータと同じデータがシート2の列Bの中にあれば、シート1の列Sにαを入力し、無ければβを入力します。 ※シート2の列Bに無ければブランクを入力します。 このような関数を作るには、シート1の列Sに何を入力したら良いでしょうか。 お分かりになる方、ご教示をお願いします。 宜しくお願い致します。

  • EXCEL関数について

    EXCEL関数について Sheet1、A1~A1000セルに「1~10」までの値がランダムに入力されております。 数字は「グループ1」、「グループ2」・・・という意味です。 B列、B1~B1000セルには「1~4」までの値がランダム入力されております。 B列については、空白のセルもあります。 Sheet2、A1~A10セルに、「1~10」までの値、「グループ1」~「グループ10」までが順に入力されております。 ここで、Sheet2、B列~E列、それぞれの1~10セルを使用し、、 それぞれの「グループ」がSheet1にて「1~4」の値をいくつずつ選んでいるか算出したいのです。 「グループ1」について、「1」のカウントはB1セル、「2」のカウントはC1のセルに返します。 同じように「グループ2」はB2~E2のセルに、「グループ3」はB3~E3のセルに値を返したいのです。 「COUNTIF」等の関数でいろいろと試してみたのですがうまく反映されません。 拙文乱文、大変恐縮ですが、ご教示頂きたく何卒宜しくお願い致します。

  • エクセル関数

    いつもご教授いただいています。 エクセル関数でお聞きしたい事があるのですが、 添付ファイルのシートのように B列の文字が基本にあり、 E列に他のシートからコピーしたものを張り付けた場合、 B列の文字や数字の並びとE列の文字や数字の並びが一致したら、 D列の数字をA列のに返すような関数を 作成したいのですが、どのようにすればよろしいでしょうか? 言葉足らずでもうしわけありませんが、 ネットで検索しようとしても、 自分の実施したい事がうまく出力されません。

  • VLOOKUP関数の範囲をセルで指定したいと思っています。

    VLOOKUP関数の範囲をセルで指定したいと思っています。 B1:参照シート名(VLOOKUP関数で使用する範囲があるシート) C2:範囲の開始位置 E2:範囲の終了位置 B3:G3:列番号(B3の値は、B6:B8の範囲で使用する列番号、 D3の値は、D6:D8の範囲で使用する列番号) これらのセルに入力された情報をもとにB6:G8の範囲にVLOOKUP関数を 反映させたいと思っています。 例えば、 B1に参照シート名「2ケタ」 C2にVLOOKUP関数の範囲の開始位置「A5」 E2にVLOOKUP関数の範囲の終了位置「G7」 B3に範囲の列番号「2」がある場合 B6に「=VLOOKUP(A6,'2ケタ'!A5:G7,2,0)の関数を入力。 B2に参照シート名「3ケタ」 C5にVLOOKUP関数の範囲の開始位置「B5」 E2にVLOOKUP関数の範囲の終了位置「H7」 C3に範囲の列番号「3」がある場合 C6に「=VLOOKUP(A6,'3ケタ'!B5:H7,3,0)の関数を入力。 といった感じです。 現在、B6に「=VLOOKUP($A6,INDIRECT($B$1&"!a5:g7"),INDIRECT("$b$3"),0)」と 関数を入力して、VLOOKUP関数の「範囲の参照シート名」と「列番号」の情報は セルから持ってくることができました。 しかし、「a5:g7」という範囲だけは、INDIRECT関数をうまく入れることができません。 どのように関数を入力したら、上手くいくのか、教えていただけないでしょうか。

  • 関数について

    関数について VLOOKUP関数を使ってみようと思っているのですが1列目のデータの抽出に仕方がわかりません。 入力例 sheet1 B列__C列__D列 1_______A____現金 2_______B____現金 3_______C____カード 4_______D____カード 5_______E____現金 抽出例 sheet2 B列__C列__D列 1_______A____現金 2_______B____現金 5_______E____現金 抽出例のC、D列はVLOOKUPを使おうと思っています。 B列の抽出にはどのようにしたらいいかおしえてください。

  • 指定した数だけデータをコピペする方法

    VBAの参考例を教えてください。 <シート1> A列に1から順に数字が入力されており、B列からE列まで数値のデータが入力されています。F列にはB列からE列にデータが入力されているセルの数をカウントした関数が入力されています。 <シート2> シート1のB~Eに入力されたデータが縦に入れ替えの上A列にコピぺされています。 ここで、シート1のA列の数値をコピーし、シート1F列に示されたデータ数分だけ、シート2のF列に縦に順々にペーストしていく方法をご教示ください。シート1のA列に入力された数値が最後の行にくるまでこれを繰り返します。 シート1 A B C D E F 1  a b c d 4 2  e d f   3 3  d e     2 ・ ・ ・ シート2 A B C D E F a         1 b         1 c         1 d         1 e         2 d         2 f          2 d         3 e         3 当方、VBAは全くの初心者です。急遽仕事で必要になってしまい、質問しました。 どうぞよろしくお願いします。

  • エクセルVBA及び関数

    初心者です。お教えお願いします エクセル2003です 空白行及び0をなくしたいのですが(C列を入力された時点で自動でE列のようにしたい) 関数の場合及びVBAのシートコードを両方教えていただけないでしょうか VBAのコードは勉強の為です Sheet1    A    B     C     D     E     F 16          文字A        文字A 17          文字B        文字B 18            0         文字C 19          文字C        文字D 20            0         文字E 21          文字D        文字F      22      23          文字E 24 25          文字F 文字はC16~C80まで入っております B16~E80までのセルのみで行いたいのですが 他の場所は関数やグラフ等がすでに入ってますのでいじりたくありません E16~をフォームのコンボボックスのリストにしようと思ってます よろしくお願いましす

  • Excel関数です。指定のセルから、n番目おきに数値を表示する方法につ

    Excel関数です。指定のセルから、n番目おきに数値を表示する方法につきまして。 Sheer1に元となる表   A    B    C    D 1 番号 開始年 周期 金額 2  1  2000    4   100 3  2  2005    3   200 4  3  2001    5   300 5  4  2004    2   400 ・ ・ Sheet2に反映させる表     A     B    C    D    E    F    G 1  番号  2000  2001  2002  2003  2004  2005  (←こちらの数値はyyyyで表した年です) 2  1 3  5 4  3 5  1 Sheet2 A列に任意の Sheet1 A列の番号を入力すると、 Sheet2 B2以降に Sheet1表の対応する年度から、 C列で指定した周期ごとにD列の金額が反映されるような表を作成したいと考えています。 例えば、Sheet1元表の「4」をSheet2 A列に入力すると、 2000年から2003年までは 0 2004年に 400 2005年に  0 以降、2年おきに400を表示。 無理やりE1からn年目(n番目)という項目を設け、開始年を考えずに E2 =IF((ROUND(E1/$C$2,0)-E1/$C$2)=0,1*$D$2,0)と Sheet1に作成は出来たのですが、  A   B    C   D   E   F ・・・・・ 1番号 開始年 周期 金額   1   2   3   4   5  6 2 1 2000  4   100 3 2 2005  3   200 4 3 2001  5   300 5 4 2004  2   400 ・ ・ 開始年度から、別シートでとなると どのように計算させて良いのかわかりません。 分かり難い質問で申し訳ございませんが、どうぞよろしくお願いします。

  • Excelの関数またはマクロを教えて下さい。

    Exsel2000の関数で、現在以下の関数まで出来たのですが、これを応用して検索値「A1」を2つのセル「A1&B1」にしたいのですが、どうすればよいのでしょうか?どなたか方法を教えて下さい。 =VLOOKUP(A1,Sheet1!$A$1:$E$2000,4) 上記の関数から判るように、これは 例えばSheet2のC1のセルにこの式を入れる場合、A1と同じ内容の値を、Sheet1のA列から検索して、そして同じ行のSheet1のD列の値をSheet2のC1のセルに返すという関数です。 これを応用して、「A1と同じ内容…のA1を、A1&B1の2つが一致するセルを検索して、同じ列のSheet1のD列の値をSheet2のC1のセルに返すという関数にしたいのです。 どなたかおわかりになる方がおりました宜しくお願いいたします。 また、マクロを使う方法でも良いのですが、当方マクロは詳しくないので出来るだけ判りやすくお願いいたします。

  • エクセルのCOUNTIF関数について

    エクセルのCOUNTIF関数について、というかCOUNTIF関数でよいのかどうかもよく分からないのですが、教えて下さい。 (1)まず、ワークシートのA列の1~100行目までの100マスを範囲として、数値を入力していくときに、仮に同じ数値を入力しようとしても、入力ができないようにしたいのです。 (2)次に、ワークシートのA列とC列のそれぞれ1~100行目までの合計200マスを範囲として、(1)と同じことをしたいのです。(つまりB列はとばして) (1)と(2)のようなことは可能でしょうか? お分かりの方がおられましたら、ぜひよろしくお願いします!

専門家に質問してみよう