• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:関数の設定方法)

関数の設定方法

このQ&Aのポイント
  • 会社で支払業務を担当している方にとって、Excelの関数の設定方法についてのご質問です。
  • 具体的な例として、当社銀行の件数を知りたい場合や、重複しているコードを1件として扱いたい場合について質問されています。
  • 質問者は、COUNTIF関数を使用することで(1)の条件を満たすことは分かったが、(2)の条件が加わるとどのような関数を追加すればよいか知りたいと述べています。

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

  • ベストアンサー
  • tamiemon96
  • ベストアンサー率49% (658/1341)
回答No.2

私なら、ですが・・・ 1) 表全体をソートする    当社銀行 支払先コード の順で   *これで、当社銀行別に、支払先企業が整列します。 2)件数カウント用の欄を一つ付け足します。   F列に「カウント」という作ったと仮定すると、   F2 に  =if(A2=A1,0,1) という式を入力し、表の一番下までドラッグコピーします。   *A列(企業のコード)が1行上と一緒なら「0」を、違えば「1」を表示しなさい という式です。    これで、企業別に整列した表で、最初に出てきたときだけ「1」が表示されるので、「1」の数が    企業数と一緒になりますね。 3) あとは、このまま、エクセルの集計機能を使えば、企業の件数も企業ごとの支払金額も一緒に表示されます。 もう一つ裏技(?)   この表を元に「ピポットテーブル」を作っちゃえばいいと思います。    縦軸に 銀行名、企業名 を 使えば OKでしょう。    出来上がったピポットテーブルの表の欄外で、1件目に1 2件目に2といれて、あとはドラッグしていけば・・・・    関数でなくても、必要なデータが取れると思いますよ。  

29222922
質問者

お礼

tamiemon96さん。 ご回答ありがとうございました。 実は、後輩社員も、支払業務をやっているので、その子の為にも・・・ っていうのでこ今回、ご質問したんですよ。私も知らなかった事なんで覚えておきたかったというの勿論あったんですが・・・・ 両方ともやってみて私はできたんですが、後輩社員に教えたところ、 「エクセル詳しくないんで、私には無理かも...」という控えめな返事がかえってきちゃいました。(´□`)  それでも私がこれを体得できたので満足です。後輩も必要になったときがくれば また、教えればいいかなとは思います。 本当にありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

当社銀行の名前までも自動的に表示させる表を作るためには、また,計算に負担となる配列数式などを使わないで簡単な式を使って対応するためにはいくつかの作業列を用意します。 元の表がシート1に有り、A1セルにコード、B1セルに名前、C1セルに相手銀行、D1セルに当社銀行、E1セルに金額の文字列がそれぞれ入力されており、それぞれのデータが下行にあるとします。 F2セルには次の式を入力して下行にオートフィルドラッグします。 =IF(D2="","",IF(COUNTIF(D$2:D2,D2)=1,ROW(D2)*1000+COUNTIF(D:D,D2),"")) G2セルには次の式を入力して下行にオートフィルドラッグします。 =A2&D2 H2セルには次の式を入力して下行にオートフィルドラッグします。 =IF(G2="","",IF(COUNTIF(G$2:G2,G2)=1,D2,"")) I2セルには次の式を入力して下行にオートフィルドラッグします。 =IF(H2="","",IF(COUNTIF(H$2:H2,H2)=1,ROW(H2)*1000+COUNTIF(H:H,H2),"")) これらの作業列が目障りでしたら列を選択して右クリックし、「非表示」を選択すれれば良いでしょう。 お求めの表ですが、別のシートに表示させるとしてA1セルには当社銀行、B1セルには件数、C1セルにはコード別件数とでも入力します。特にA1セルには必ず文字列を入力してください。 そこでA2セルには次の式を入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(COUNTA(A$1:A1)>COUNT(Sheet1!$F:$F),"",IF(COLUMN(A1)=1,INDEX(Sheet1!$D:$D,MATCH(SMALL(Sheet1!$F:$F,ROW(A1)),Sheet1!$F:$F,0)),IF(COLUMN(A1)=2,MOD(SMALL(Sheet1!$F:$F,ROW(A1)),1000),IF(COLUMN(A1)=3,MOD(SMALL(Sheet1!$I:$I,ROW(A1)),1000),""))))

29222922
質問者

お礼

KURUMITOさん、 早速のご回答ありがとうございました。 と同時にお詫びしたいことが。 ちょっと私には難しくてできそうにもないかなっていうのが印象です。 私の欲になってしまうのですが、入れる計算式は少なめにしたいなあっていうのが今回ありました。 ただ、やらずじまいだと上記の後輩君と一緒になってしまうので必ず実践してみます。 今回はありがとうございました。