• 締切済み

エクセルの関数・マクロについてご質問させて下さい。

入金リスト集計を行なっており、集計の出し方が複雑なので関数やマクロを使用したほうが間違いがなく出せると思いますが、関数やマクロについては素人なので、 投稿いたしました。 各ID(I列)の重複の文字(L列)を除いた個数と、重複の文字を除いた個数の報酬額1(G列白地「6月29日17:59まで」は400円とG列黄色地「6月29日18:00以降」は500円)・報酬額2(画像の右A列のIDを対象とし、G列白地「6月29日17:59まで」は600円とG列黄色地「6月29日18:00以降」は700円)を表したいと考えております。 ・Nセル(各IDの1番最初の行)にIセルに記載されている(見切れていますが)IDのLセルにある重複を除いた個数を表示させたいです。 例)N1418セルに上の関数を記載させたいです。IDが変わるとそのセルに関数を載せるという感じにしたいです。 ・Pセルに重複の文字を除いた個数の報酬額1(G列白地「6月29日17:59まで」は400円とG列黄色地「6月29日18:00以降」は500円)・報酬額2(画像のA列のIDを対象とし、G列白地「6月29日17:59まで」は600円とG列黄色地「6月29日18:00以降」は700円)を表したいと考えております。 マクロにして、瞬時に計算が出来れば嬉しいです。 説明不足かもしれないのですが、ご教授頂ければと思います。 よろしくお願い致します。

みんなの回答

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.1

お急ぎのご質問に対して10日以上経過してからの解答にて失礼いたします 質問文の内容、画像より、推定を交えてワークシートの数式を考えてみました。 マクロは使用していません。 使用したExcelは2003です。 なお、以下のように仮定しました。 シートは2つ使用し、画像左のD~N列までが見えているものがSheet1、右のA列のみ見えているものがSheet2とする Sheet1は2行目から少なくとも1418行目まで画像のようなデータが入っている Sheet1のデータの最後の行以下は、セルに何も入力されていない L列の「重複」はこの2文字のみであり余分なスペースなどはない M列はデータが入っておらず作業用領域として使用してよい O列にもデータは入っていない P列に表示する内容は、I列の値がSheet2のA列にない場合は報酬額1、ある場合は報酬額2を表示する 方法は以下のようになります。 まず、Sheet1のM2, N2, P2に以下のような数式を入力する セルM2 =IF(L2<>"重複",I2,"") セルN2 =IF(M2="","",COUNTIF(M:M,M2)) セルP2 =IF(M2="","",IF(ISNA(VLOOKUP(M2,Sheet2!A:A,1,0)), IF(G2<DATE(2012,6,29)+TIME(18,0,0),400,500), IF(G2<DATE(2012,6,29)+TIME(18,0,0),600,700))) 次に、Sheet1の3行目以降のデータのある行のM, N, P列のセルに、M2, N2, P2の数式を複写する (M2~P2を選択し、同じ列の3行目以降にフィルハンドルのドラッグ又はコピー・貼り付けを行えばよい) 以上です。 質問者様の意図されたものとなっているでしょうか? なお、「マクロにして、瞬時に計算が出来れば」と書かれていますが、この方法ではワークシートの数式を使っているので計算自体は瞬時に行われます。 ただ、Sheet1のデータの追加や削除の際に数式も手動で追加や削除することに問題がある場合はマクロを検討する余地もあると思います。

関連するQ&A

  • エクセルの関数について質問です

    エクセルの関数について質問です A列に任意の個数「1」が入り、続けて「2」が任意の個数入力されています。B列に任意の文字列が入力されています。(うまく説明できないので、図を参照してください。) A列に「2」が入力されているB列の文字列を、関数でD列に取り出したいのですが、どのような関数でできるでしょうか? 「1」も「2」も個数は変動します。一度「2」が入力された以降の行に「1」が入ることはありません。「1」と「2」以外がA列に入力されることはありません。 色々考えたのですが、どうもうまくいきません。 VBAを使用すればできるとは思うのですが、どうしても関数でなければいけない事情があります。どなたか助けていただけないでしょうか?

  • エクセルの関数で。。。

    エクセル関数で以下のようなことをしたいのですが。。。 A列に「75」と入っていて、 なおかつB列に「赤」と入っているセルの個数を求める。 関数を教えてください。

  • エクセル関数かマクロで

    C列とF列とG列のセルの文字列が一致している行をS列に、 ●を表示することは可能でしょうか? 例えば    C列   F列   G列   S列 1行 あああ いいい ううう 2行 かかか ききき おおお  ● 3行 さささ ししし すすす 4行 あああ いいい さささ 5行 かかか あああ さささ 6行 かかか ききき おおお  ● 7行 ううう あああ すすす 2行目と6行目のC列、F列、G列が全く同じなのでS列に●を表示。 EXACT関数を応用すればできるのでしょうか?

  • エクセル関数について

    エクセル関数の質問です。 AA列にAからEまでの文字がランダムに重複して20行入っています。 AC列に人名が20人分重複しないで入っています。 AA列のたとえばBに対応するAC列の人名を1つのセルに連続して取り出すにはどのような関数を使用すればよいですか? たとえば ”太郎、花子、次郎、・・・”のように、 LOOKUP関数では1つの文字列しか取り出せません。 教えてください。

  • 関数の質問です。

    関数の質問です。 固定の文字列を含む文字と空白のセルを除いた文字列の個数を数えたいのですが 固定の文字を数える場合はCOUNTIF(範囲,"文字列")でできますが この数式の含まない個数を数えたいのですが・・・・ 宜しくお願いいたします。

  • エクセル 特定値の数え方に関する関数について

    エクセル2010を使用しています。 3つの列でそれぞれの値が入力されているときに 「A列に○○と入力してあり、B列に△△と入力されているセル」の個数や、 「A列には○○、B列には△△と入力してあり、C列には××と入力されているセル」の個数を数えるにはどのように関数を作ればいいのでしょう? データが増えていくので、いちいちフィルタを使って数えるのが手間なので、関数を作りたいと思っています。 わかりずらくて申し訳ありません。一応下の例でいくと A列が「1」となっていてB列が「い」となっているセルの個数 や、 A列が「3」でB列が「あ」となっているC列「犬」の数などです。 A列 B列 C列 1  あ  犬 1  い  猫   1  あ  猫 2  う  犬 2  あ  鳥 3  う  犬 3  い  猫 3  う  鳥 よろしくお願いします。

  • エクセル2007関数

    表の説明をします。 G列からJ列に入力用があります。 J列にチェック用の数字1を入れます。 A列に県名、B列に県名の個数、C列に区分Aの個数、D列に区分Bの個数 それぞれをJ列のチェックを入れた個所だけの値を求めたいです。 関数を教えてください。

  • Excelの関数について

    質問についてうまく表現が出来ないのでセル番地等を記します。 I1とJ1を結合して2005/12(文字列で入力) K1とL1を結合して2005/11(同じ) M1とN1を結合して2005/10(同じ)           ・           ・ AE1とAF1........2005/01 まで I2,K2,L2,N2・以降1個とび・・・AE2に個数という項目名 J2,L2,N2,P2・以降1個とび・・・AF2に単価という項目名 I3~AF3までに数値が入ります。 I3~AF3までの範囲の最新の単価を表示させる為の関数はどうしたらよいのでしょうか? 個数と単価は空白のセルも出てきます。 考え方的にはI3~AF3の範囲で0又は空白セル以外の項目のうち一番左側のセルの値を表示させるようにすれば良いのですが、関数がわかりません。 よろしくお願いいたします。

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

    A1セルに受注番号(項目)とし、B1セルにチェック(項目)を入力してあります。 A2セルからA100セルまで001、002等入力されています。 B2セルからB200セルまで =IF(COUNTIF($A:$A,A2)>1,"重複","") と関数を入力しました。 受注番号の重複確認を行うためです。 セルA2からセルA100までは重複確認できています。 困っていることは、セルA101以降は空白セルなのですが、セルB101からB200セルまで重複と表示されてしまいます。 セルA101以降が空白の場合に、セルB200まで重複と表示させない関数はありますでしょうか?

  • エクセル関数で、塗りつぶしをしたい

    エクセルについて質問させて下さい。関数で、ある日時以降について塗りつぶしをしたいと思うのですが、 どの関数を挿入すればよろしいでしょうか? 例としては6月29日G列の購入日時から6月29日18時以降をソートして該当する行を 黄色く塗りつぶし出来ればと思っております。 ご教授頂ければと思います、よろしくお願い致します。

専門家に質問してみよう