[[20230316140624]] 『指定範囲が同じ値の場合のみ指定したセルの値を返』(ponta) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『指定範囲が同じ値の場合のみ指定したセルの値を返す』(ponta)

下記のような数式を色々なサイトを検索して作成してみましたが
思うようにいきません。教えてください。よろしくお願いします。

K列の単位が全て同一の場合のみJ列の数量の値をO列へ返すという式を作成してみました。全て同一の場合は大丈夫なんですが、同一でない場合もうまく反映されません

=IF('1.'!$H$32="","",+IF(PRODUCT(($K$2:$K$21:データ!$K$2=$K$2)*1),J2,""))
=IF('1.'!$H$32="","",+IF(PRODUCT(($K$2:$K$21:データ!$K$2=$K$2)*1),J3,""))

	J	K	L	M	N	O
1	数量	単位	税区分	金額	   数量(計)
2	15	食	10	6000		15
3	2	食	10	880		2
4	3	食	10	1200		3
5	0	食	10	0		0

	J	K	L	M	N	O
1	数量	単位	税区分	金額		数量(計)
2	15	台	10	6000		15
3	2	食	10	880		
4	3	h	10	1200		
5	0	食	10	0		
6	10	個	10	4000		

< 使用 Excel:Excel2019、使用 OS:Windows11 >


 >=IF('1.'!$H$32="","",+IF(PRODUCT(($K$2:$K$21:データ!$K$2=$K$2)*1),J2,""))

 所々にシート名の修飾があるのですが、数式を入力するシートとどんな関係にあるんですか?
 ※特にデータシートとの関係

 >($K$2:$K$21:データ!$K$2=$K$2)*1

 この部分の記述って、本当にそうなっているんですか?
 ※本当だとして、何を意味する(したい)んですか?)

(半平太) 2023/03/16(木) 15:22:27


ありがとうございます。

>所々にシート名の修飾があるのですが、数式を入力するシートとどんな関係にあるんですか?

 ※特にデータシートとの関係

シート1〜15には各担当者が入力して(請求書)それをデータシートへまとめてCSVに変換して
帳票発行システムへ取り込むために作成しています。

>($K$2:$K$21:データ!$K$2=$K$2)*1

この部分に関しては、「指定した範囲が同一の場合に値を返す」で検索してヒットした数式をそのまま使用したので理解していません。すいません

合計数量を表示するのに、単位が同一の場合に数量を表示して単位がバラバラの時にはブランクにして集計できるようにしたいんです。
こんな説明でわかるでしょうか?よろしくお願いします。

(ponta) 2023/03/16(木) 15:52:09


 $K$2:$K$21
  ↑
 その範囲に何らかの単価が全て埋まっているんですか?
 ひとつでも空白があると、「指定した範囲が同一」のケースになりませんが、大丈夫ですね?

 >=IF('1.'!$H$32="","",+IF(PRODUCT(($K$2:$K$21:データ!$K$2=$K$2)*1),J2,""))
     ↑
    こんなところにピリオドがありますが、本当ですね?

  本当なら
  ↓
 O2セル =IF('1.'!$H$32="","",IF(PRODUCT(INDEX(($K$2:$K$24:$K$2=$K$2)*1,0)),J2,""))

(半平太) 2023/03/16(木) 16:12:34


早々ありがとうございます。助かります<(_ _)>

>$K$2:$K$21

  ↑
 その範囲に何らかの単価が全て埋まっているんですか?
 ひとつでも空白があると、「指定した範囲が同一」のケースになりませんが、大丈夫ですね?

各シート毎にI12:I31(20行分)に単位を入力する箇所がありますが20行全て入力するとは限りませんので空白もあります。試行錯誤している時に1行しか入力していない場合でも合計数量を表示する必要がある場合もあり、I列を全て同じ単位で埋める必要があるのかな?と考えていました。

>=IF('1.'!$H$32="","",+IF(PRODUCT(($K$2:$K$21:データ!$K$2=$K$2)*1),J2,""))

     ↑
    こんなところにピリオドがありますが、本当ですね?

シート名の「1.〇〇商事」といったようなシート名にする為に現在は「1.」のみとなっています。

>本当なら

  ↓
 O2セル =IF('1.'!$H$32="","",IF(PRODUCT(INDEX(($K$2:$K$24:$K$2=$K$2)*1,0)),J2,""))

こちらの数式で出来ました(*'▽')
本当にありがとうございました。昨日から悩んでいたので早く相談すればよかったです。
またよろしくお願いします

(ponta) 2023/03/16(木) 16:51:35


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.