Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
次の入力のあるセルの中身を返す
投稿日時: 18/11/13 17:04:48
投稿者: せりむ

社内の別の方の作成された資料を自部署の集計に合わせて再集計するにあたって
index-matchを利用したいのですがうまい方法が見つからず教えていただきたいです。
 
状況
sheet1
↓フラグ         売上数    売上金額 1個当たり
     ◎青果   33     7720    
     ●米     10      5900    
青果    ・あきたこまち    5     2500      500
青果    ・コシヒカリ     4     2800      700
青果    ・ササニシキ     1     600      600
    ●果物         15     1260    
    柑橘類計    10    680
青果    ・みかん    4     200      50
青果    ・いよかん    6     480      80
青果    ・リンゴ    3     180      60
青果    ・ブドウ    2     400      200
    ●野菜        8     560    
青果    ・大根        4     320      80
青果    ・にんじん    4     240      60
    ◎鮮魚        …     …
    ●切り身    …     …    
    ※備考            
鮮魚    ・まぐろ            
鮮魚    ・サーモン            
鮮魚    ・            
    ●寿司            
    ・            
    ・            
    ・        
 
sheet2
●米    青果 
●果物   青果
●野菜   青果
●切り身  鮮魚
●寿司   鮮魚

    
このような形の表がかなりの行数続いているものなのですが
sheet2にて●の項目名にフラグを振りたいと考えています。
ですがsheet1にてindex-matchをしようにもすぐ左のセルは空白なので
「該当するセルが空白の場合次の値のあるセルの値を返す」関数が必要なのですが
自身の発想では
=if(index-match="",if(index-match+2="",if(index-match+3=""……,index-match+1,index-match)))
とお粗末なものしか思いつかず、何か良い方法があればご教授いただけないでしょうか?
 
 
 

投稿日時: 18/11/13 17:07:49
投稿者: せりむ

すいません、柑橘計や備考のような間の空白セルは多いところで
7行ほど続くのですが直後の値が返ってくればありがたいです。

回答
投稿日時: 18/11/13 17:42:44
投稿者: WinArrow
投稿者のウェブサイトに移動

表が分かりにくい
  
 >index-match
がよくわからない
 また、数式の中に「index-match」と書いてあるが、これは、何を意味しているのか?
  
 説明の内容も、何をしたいのか?・・・よくわからない
 

回答
投稿日時: 18/11/13 18:14:37
投稿者: んなっと

     A        B    C
 1 フラグ         売上数
 2         ◎青果   33
 3          ●米   10
 4  青果 ・あきたこまち    5
 5  青果  ・コシヒカリ    4
 6  青果  ・ササニシキ    1
 7         ●果物   15
 8        柑橘類計   10
 9  青果    ・みかん    4
10  青果   ・いよかん    6
11  青果    ・リンゴ    3
12  青果    ・ブドウ    2
13         ●野菜    8
14  青果     ・大根    4
15  青果   ・にんじん    4
16         ◎鮮魚   …
17        ●切り身   …
18         ※備考    
19  鮮魚    ・まぐろ    
20  鮮魚   ・サーモン    
21         ●寿司    
22  鮮魚       ・    
 
     A   B
1  フラグ 品目
2   ●米 青果
3  ●果物 青果
4  ●野菜 青果
5 ●切り身 鮮魚
6  ●寿司 鮮魚
 
B2
=INDEX(Sheet1!A:A,MATCH(1,INDEX((ROW($1:$500)>MATCH(A2,Sheet1!B:B,0))*(Sheet1!A$1:A$500<>""),),0))
下方向・↓

投稿日時: 18/11/14 10:02:20
投稿者: せりむ

WinArrow様
申し訳ないです、登校時にどうしても列がずれてうまく投稿できずこのような形となっておりました。
お伝えしたかったのはif関数で一行ずつ空白かどうかを確認して行く式以外で
スマートな式で表現できないかというところでした。
 
んなっと様
ありがとうございます、
まさに考えていた形の結果を得ることが出来ました!