人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルで、以下を実現する方法は?

「1番シート」に以下のようにデータが入っているとします。
111222333x
113234213y
321421314z

「2番シート」はA1,A2,A3にそれぞれ値を入れると、B1にいろいろと計算した結果の数字が入るようになっています。

ここで、1番シートのまえの3つの数字を、2番シートのA1,A2,A3にいれてB1に出てきた結果を、x,y,zのそれぞれに入るようにしたいと思います。

どうすれば実現できるのでしょうか?

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:333 A1 A3 エクセル データ
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● stnet
●13ポイント

=Sheet1!A1

のような感じで入力すれば、他シートの値を参照できますよ

http://www.excel-jiten.net/formula/ref_other_sheets.html

◎質問者からの返答

意味がちがいます。

2番シートに

111 222 333をいれたときのB1の値をxに、

113 234 213をいれたときのB1の値をyに、

321 421 314をいれたときのB1の値をzに、

入れたいんです。


2 ● がら
●25ポイント

1番シートの前の3つとはA1,A2,A3のことですよね?

2番シート(Sheet2)のA1に「=Sheet1!A1」(「」はつけないでね)

1番シート(Sheet1)のC1に「=Sheet2!B1」

でOKでは?


3 ● Penyan
●24ポイント

A1,A2,A3の順番でよければ、

xの数式を

=IF(AND(A1=Sheet2!$A$1,B1=Sheet2!$A$2,C1=Sheet2!$A$3),Sheet2!$B$1,"")

にしてy,zにコピーしてください。

◎質問者からの返答

なんかうまくいかないですね。


4 ● ycyc
●24ポイント

計算式が1箇所にしかないので、複数の値を順番に入れて計算結果を適宜設定するようにすればいいと思うので、dingdingさんのマクロが正しく動かないとすれば、Functionを呼び出しているところがまずいのではないでしょうか?

Private Sub CommandButton1_Click()

Dim row As Integer

For row = 1 To 1000

If (sheet1.Cells(row, 1) = "") Then

' 適当なところまで繰り返す

Exit For

End If

Worksheets("Sheet1").Cells(row, 4).Value = _

XXX(Worksheets("Sheet1").Cells(row, 1).Value, _

Worksheets("Sheet1").Cells(row, 2).Value, _

Worksheets("Sheet1").Cells(row, 3).Value)

Next

End Sub

Function XXX(aaa, bbb, ccc)

Worksheets("Sheet2").Range("A1").Value = aaa

Worksheets("Sheet2").Range("A2").Value = bbb

Worksheets("Sheet2").Range("A3").Value = ccc

XXX = Worksheets("Sheet2").Range("B1").Value

End Function

◎質問者からの返答

ありがとうございます。試してみたいと思います


5 ● ask001
●0ポイント (はてなにより削除しました)
1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ