プロが教える店舗&オフィスのセキュリティ対策術

血圧測定をすることになりました。
最高血圧・最低血圧・心拍数を3回測定して
その平均値を別のsheetにリンクしてその平均値から
いろいろ編集をしたいです。
入力シートから別のsheetにリンクする方法を教えてください。
よろしくお願いいたします。

「INDIRECTについてお尋ねいたします」の質問画像

A 回答 (3件)

同じシートにも集計ができないから、やり方を教えてということでしょうか?


なんか質問タイトルと質問本文と質問内容が全くかみ合ってないと思うのは自分だけかな。

入力の手間を省きたいなら、ROW関数やCOLUMN関数を使って参照したいセルの位置を決め、OFFSET関数やINDEX関数に渡してやれば良い。
 =ROW(D10)
では
 10
が返ります。
 =COLUMN(D10)
 4
が返ります。
 =ROW(A1)
と入力して、それを縦方向に連続して3行複製すると、
 =ROW(A1)
 =ROW(A2)
 =ROW(A3)
 =ROW(A4)
となり、それぞれ
 1
 2
 3
 4
が返ってきます。
COLUMN関数も同じで、横方向に複製です。

このようにして連続した数値を得られます。
4行おきにデータを拾いたいなら、この値を4倍すれば目的の行を指定できます。
4列おきにデータを拾いたい場合も同じ。

横に6列、1列あけてその次の列から6列・・・のように参照したいのであれば、
INT関数とMOD関数を組み合わせて計算をさせましょう。
MOD関数は割り算した余りを求める関数です。
 =MOD(1,6)
 =MOD(7,6)
では
それぞれ余りの「1」が返ります。
連続した数値をMOD関数に入れてると0から5までの6つの値が返るということです。
これを使って連続した横6列を指定できます。
INT関数は小数点以下の値を切り捨てた値が返ります。
 =INT(1/6)
では
 0
 =INT(7/6)
では
 1
がそれぞれ返ります。
この値を7倍してやれば、「0」と「7」になります。
(その先を必要とするなら「14」も返ります)
MOD関数とINT関数で得た値を足し算すれば、
 =MOD(1,6) + INT(1/6)*7
 =MOD(2,6) + INT(2/6)*7
 =MOD(3,6) + INT(3/6)*7
 =MOD(4,6) + INT(4/6)*7
 =MOD(5,6) + INT(5/6)*7
 =MOD(6,6) + INT(6/6)*7
 =MOD(7,6) + INT(7/6)*7
とするならば、
 1
 2
 3
 4
 5
 7
 8
と、6を飛ばした値を得られます。

このようにしてOFFSET関数や、INDEX関数に対して行列を指定すると、気持ちよく表から値を拾ってくることができます。

あとは質問者さんの努力次第です。
なお、OFFSET関数やINDEX関数の使い方は自身で調べてください。
(難しい事ではありませんよね)

・・・
こんな感じで1つずつ問題を解決しながら数式を作るのです。
あとは同じシートに作った数式が入力されたセルをコピーして表示したいシートへ貼り付ければ、
参照範囲は自動的に
 シート名+!+セル番地
に置き換えられます。

ということで、まずは同じシート上で集計するようにしましょう。


・・・余談・・・

ここは自分で作成することができるようにアドバイスをもらう場所です。
「代わりに作って」と作業依頼をする場所ではありませんので、こういった形の回答になります。
    • good
    • 1
この回答へのお礼

有り難うございました。
関数を間違えてたみたいですね。
MOD関数とINT関数を使ってみたらできました。
有り難うございました。

お礼日時:2019/12/01 20:59

>入力シートから別のsheetにリンクする方法を教えてください。


(・ω・`) Ξ (´・ω・)
INDIRECTどこ行った。

・・・
他のシートの値を参照するときは、
 =「シート名」+「!」+「セル番地」
になります。
 =A20
 =SUM(B2:B10)
が、
 =Sheet2!A20
 =SUM(Sheet2!B2:B10)
こんな感じになります。
    • good
    • 0
この回答へのお礼

有り難うございます。
言葉足らずでごめんなさい。
別のsheetに日付と「最高血圧・最低血圧・脈拍数
の各3回測定した平均のみを自動的に表示できるように
したいのです。
毎日の入力なのでなるべく手間を省きたいのです。

お礼日時:2019/11/30 21:31

入力!

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!