ID非公開

2019/2/11 0:58

33回答

エクセルでの質問です。

エクセルでの質問です。 右側の表で【種類】でりんごを【プルダウン】で選択したら 【品種】を再度プルダウンで選択。 その後産地、値段を自動で抽出入力するにはどの様にすれば良いですか? (どの様な関数を使用すれば良いですか?) 説明が下手ですいません。。

画像

Excel79閲覧

ベストアンサー

0

1)Sheet1に【図-1】のような表があるものとして、 (A列の種類には、空白やセルの結合などせずに、全部入力してください) 2)E2=A2&B2 と入力して、下にコピー【図-1】 3)Sheet2のB1:D5の範囲を指定して、 4)「Ctrl+G」または「F5」を押して、「ジャンプのダイアログボックス」の、下の「セル選択」をクリックします 5)選択オプションの「定数」にチェックして、OK【図-2】 6)選択された範囲の入力されたセルが選択されます【図-3】 7)リボンの「数式」タブ→「選択範囲から作成」ボタンをクリックして、【図-4】 8)「上端行」にチェックして、OK【図-5】 9)Sheet3のA2:A10の範囲を指定して、 10)リボンの「データ」タブの「データの入力規則」ボタンをクリックして、 11)入力値の種類を「リスト」にして、元の値に 12)=Sheet2!$B$1:$D$1 と入力して、OK【図-6】 13)Sheet3のB2:B10の範囲を指定して、 14)リボンの「データ」タブの「データの入力規則」ボタンをクリックして、 15)入力値の種類を「リスト」にして、元の値に 16)=INDIRECT(A2) と入力して、OK【図-7】 17)C2=IF(COUNTA($A2:$B2)<2,"",INDEX(Sheet1!C:C,MATCH($A2&$B2,Sheet1!$E:$E,0))) 18)右と下にコピー 19)これで、B列のセルを選択して、▼をクリックすると、A列の種類に応じた品種から選択します【図-8】 20)種別、品種を入力すると、産地と値段が表示されます【図-8】

画像

その他の回答(2件)

0

添付図参照 1.範囲 A2:A20 選択⇒ Ctrl+G ⇒ [セル選択] ⇒ “空白セル”に目玉  ̄ ̄入れ ⇒ [OK] ⇒ アクティブセル A3 に式 =A2 を入力したら、  ̄ ̄Ctrl+Enter を「エイヤッ!」と叩き付け ⇒ 範囲 A2:A20 選択⇒  ̄ ̄下記の[条件付き書式] を設定  ̄ ̄ ̄[ルール適用先]→ =$A$2:$A$20  ̄ ̄ ̄[ルールの内容]↓  ̄ ̄ ̄ ̄数式→ =A2=A1、書式→ フォント色を白 2.範囲 A1:D20 選択 ⇒ Alt+MC ⇒ “上端行”以外のチェック外し  ̄ ̄⇒ [OK] 3.セル K1 に文字列「種類OR」入力 ⇒ 範囲 K1:P1 選択 ⇒  ̄ ̄Alt+MC ⇒ “左端列”のみにチェック入れ⇒ [OK] 4.範囲 L1:P9 選択 ⇒ Alt+MC ⇒ “上端行”以外のチェック外し  ̄ ̄⇒ [OK] 5.セル F2 選択 ⇒ Alt+AVV ⇒ 下記の[データの入力規則]を設定  ̄ ̄ ̄[入力値の種類]→ “リスト”  ̄ ̄ ̄[元の値]→ =OFFSET(種類OR,,,,COUNTA(種類OR)) 6.セル G2 選択 ⇒ Alt+AVV ⇒ 下記の[データの入力規則]を設定  ̄ ̄ ̄[入力値の種類]→ “リスト”  ̄ ̄ ̄[元の値]→ =OFFSET(INDIRECT(CELL("address",INDIRECT(F2))),,,COUNTA(INDIRECT(F2))) 7.次式を入力したセル H2 を右隣にオートフィル  ̄ ̄ ̄=IFERROR(INDEX(INDIRECT(H$1),SUMPRODUCT((INDIRECT($F$1)=$F2)*(INDIRECT($G$1)=$G2)*ROW(INDIRECT(H$1)))-1),"")

画像
0

シート1は左の表で1行目は項目名で2行目から下方にデータがあるとします。 作業列を作って対応します。 G2セルには次の式を入力します。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(G$1:G1)+1,"")) H2セルには次の式を入力します。 =IF(ROW(A1)>MAX(G:G),"",INDEX(A:A,MATCH(ROW(A1),G:G,0))) I2セルには次の式を入力します。 =IF(B2="","",LOOKUP("ー",A$2:A2)&COUNTIF(I$1:I1,LOOKUP("ー",A$2:A2)&"*")+1) J2セルには次の式を入力します。 =IF(B2="","",LOOKUP("ー",A$2:A2)&B2) G2セルからJ2セルまでを選択して含まれるそれらの式を下方にドラッグコピーします。 その後にK1セルには次の式を入力して横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(IF(ROW(A1)=1,INDEX($A:$A,MATCH(COLUMN(A1),$G:$G,0)),IF(ROW(A1)=2,"",IF(ROW(A1)>2,INDEX($B:$B,MATCH(K$1&ROW(A1)-2,$I:$I,0)),""))),"") 横方向には種類が並び下方には品種が並ぶ表となります。 その後にK列を選択してから「数式」メニューの「名前の定義」を選択します。 名前の窓にはK1セルの種類が表示されますのでそのままOKします。 L1,M1…と同じ操作を行ってそれぞれの列に名前をつけることになります。 その後にお求めの表をシート2に作るとします。 A2セルから下方のセルを選択してから「データ」メニューから「データの入力規則」を選択します。 入力値の種類では「リスト」を選び元の値の窓に次の式を入力してOKします。 =INDIRECT("Sheet1!H:H") 同じようにB2セルから下方のセルを選択してから入力規則の設定では次の式を入力します。 =INDIRECT(A2) その後にC列に産地をD列に値段を表示するとしてC2セルには次の式を入力してD2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーすればよいでしょう。 =IF($A2="","",IFERROR(INDEX(Sheet1!$C:$D,MATCH($A2&$B2,Sheet1!$J:$J,0),COLUMN(A1)),"")) なお、シート1の作業列が目障りでしたらそれらの列を選択して「非表示」にすればよいでしょう。