質問: excelの関数の入力の仕方 私の知識不足の為どうすればいいのか困っています。どうぞお願いします。 シート1に | a | b | c | d | --|-----|----|----|----|--- 1 |田中 | | | | --|-----|----|----|----|--- 2 |佐藤 | | | | --|-----|----|----|----|--- 3 |鈴木 | | | | --|-----|----|----|----|--- 4 |山田 | | | | シート2に | a | b | c | d | e | f --|-----|----|----|----|----|---- 1 | | 1 | 2 | 3 | 4 | 5 --|-----|----|----|----|----|---- 2 |田中 | | | | | --|-----|----|----|----|----|---- 3 |佐藤 | | | | | --|-----|----|----|----|----|---- 4 |鈴木 | | | | | --|-----|----|----|----|----|---- 5 |山田 | | | | | とあったとします。(シート2の横に並んだ数字は日にちです。) (シート1は入力用シート、シート2は印刷用シートとして使います。) 例題として、田中さんは2日と3日が入院。5日が外出すると仮定して、 シート1のb1に"2n"、c1に"3n"、d1に"5g"と入力したら、 シート2のc2に"入"、d2も"入"、f2が"外"と表示させたいの です。 色々試行錯誤しましたが、一向にできず、困っています。 お手すきの時がありましたら、回答お願い致します。
回答: 次の方法は如何でしょうか。 sheet2のb1に以下の数式を設定、縦横にコピーして下さい。 因みにsheet1の入力データ、sheet2の1行目は半角の数値、sheet1の列範囲は固定で30列としています。 =if(countif(offset(sheet1!$a$1,match($a2,sheet1!$a:$a,0)-1,,,30),b$1&"n"),"入",if(countif(offset(sheet1!$a$1,match($a2,sheet1!$a:$a,0)-1,,,30),b$1&"g"),"外",""))